Spring - как добавить компоненты из другого модуля в приложение SpringBoot - PullRequest
0 голосов
/ 02 июня 2018

В моем проекте у меня есть два модуля:

  • com.demo.shared
  • com.demo.app

В com.demo.поделился У меня есть компонент

@Component
class Address(
    @Value("\${config.address.host}") val host: String,
    @Value("\${config.address.port}") val port: Int
)

В com.demo.app я хочу, чтобы контейнер IoC Spring вводил компонент

@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}/")
}

При запуске приложения я получаю эту ошибку:

Параметру 0 конструктора в com.demo.app.Application требуется компонент типа com.demo.shared.Address, который не может быть найден.

Чтоя пропускаю?

ПРИМЕЧАНИЕ: Я пометил Java, потому что, хотя модули используют Kotlin, если кто-нибудь сможет предоставить примеры того, что делать на Java, я смогупортировать его относительно легко.

1 Ответ

0 голосов
/ 02 июня 2018

Похоже, вам просто нужно добавить аннотацию сканирования компонента: http://www.springboottutorial.com/spring-boot-and-component-scan

@ComponentScan(“com.in28minutes.springboot”)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...