Spring: внедрение компонента в конфигурацию в библиотеке - PullRequest
0 голосов
/ 03 мая 2018

У меня есть проект весенней загрузки с kotlin, который используется в качестве библиотеки. В его классе @Configuration я создаю пружинный компонент с помощью метода с аннотацией @Bean:

@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 params.

Затем я использую внедренный компонент в каком-то другом компоненте библиотеки:

@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.

Итак, вопрос:: Возможно ли сделать то, что я пытаюсь? и если да, то в чем проблема с тем, что у меня сейчас есть?

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