我有一个类(例如A类),它@Autowire
个属性类(B类)。从application.yml
中读取B的字段,然后使用@Component
创建一个bean。然后可以使用@Autowire
在类A中使用此bean。
当我在同一模块中运行该应用程序时,所有Bean都创建正确,该应用程序运行。但是,当我从另一个模块的@Import(A.class)
类(这是一个多模块项目)中执行@Configuration
时,为类B创建的bean
包含所有null
值。这意味着它没有读取模块中的application.yml
。
这种行为背后的原因是什么?
答案 0 :(得分:1)
我不确定这个问题,因为您尚未共享代码段或项目结构等。但是您是否尝试过使用
扫描软件包@CoomponentScan(basepackages = {"package1","package2"})
在您的应用程序类之上。这样,spring就会知道在哪里可以找到所有的课程。
希望这会有所帮助。请添加代码段,项目结构等,以便我们了解问题并提供帮助。
如果不是这种情况,请参考此问题。