在我的项目中,我有两个模块:
在com.demo.shared中我有一个组件
@Component
class Address(
@Value("\${config.address.host}") val host: String,
@Value("\${config.address.port}") val port: Int
)
在com.demo.app中我想让Spring的IoC容器注入组件
@SpringBootApplication
class Application(address: Address) {
companion object {
@JvmStatic
fun main(args: Array<String>) {
SpringApplication.run(Application::class.java, *args)
}
}
private val client: HttpClient("http://${address.host}:${address.port}/")
}
当我运行应用程序时,我收到此错误:
com.demo.app.Application中构造函数的参数0需要一个bean 类型&#39; com.demo.shared.Address&#39;无法找到。
我错过了什么?
注意:我已经标记了Java,因为即使模块使用Kotlin,如果有人可以提供Java示例,我也可以移植它相对容易。
答案 0 :(得分:2)
看起来您只需要添加组件扫描注释:http://www.springboottutorial.com/spring-boot-and-component-scan
@ComponentScan(“com.in28minutes.springboot”)