У меня есть проект весенней загрузки с 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.
Итак, вопрос:: Возможно ли сделать то, что я пытаюсь? и если да, то в чем проблема с тем, что у меня сейчас есть?