Spring:库内配置中的bean注入
我有一个使用kotlin的spring boot项目,它被用作一个库。 在其@Configuration类中,我使用带有@bean注释的方法创建了一个Springbean:Spring:库内配置中的bean注入,spring,spring-boot,kotlin,Spring,Spring Boot,Kotlin,我有一个使用kotlin的spring boot项目,它被用作一个库。 在其@Configuration类中,我使用带有@bean注释的方法创建了一个Springbean: @Bean(name = arrayOf("someConfig")) fun someConfig(@Value("\${someconfig.val1}") val1: String, @Value("\${someconfig.val2}") val2: String, @Value("\${someconfig.va
@Bean(name = arrayOf("someConfig"))
fun someConfig(@Value("\${someconfig.val1}") val1: String, @Value("\${someconfig.val2}") val2: String, @Value("\${someconfig.val3}") val3: String): SomeConfig {
return SomeConfig(val1, val2, val3)
}
值得指出的是,SomeConfig是我无法修改的另一个依赖项中的一个类,它需要3个参数的构造函数
然后我在库中的其他组件中使用注入的bean:
@Component
class SomeComponent {
@Autowired
lateinit var someConfig: SomeConfig
...
}
我做了一些测试,效果很好
当我将库作为依赖项添加到其他项目中,并且我想使用SomeComponent时,问题出现了,我得到了下一个错误:
Field someConfig in com.test.services.SomeComponent required a bean of type 'com.other.project.SomeConfig' that could not be found.
所以问题是:?有可能做我正在尝试的事情吗?如果是这样,我目前的方式有什么问题?您确定Spring Boot应用程序扫描了库中的
@配置文件吗?@Nikem我不确定如何验证,但我在应用程序类中有@ComponentScan(“com.test”)
。