У меня есть библиотека для FooService
.
Вот класс AutoConfiguration:
@Configuration
@EnableConfigurationProperties(FooProperties.class)
public class FooServiceAutoConfigure {
@Autowired
FooProperties config;
@Bean
public FooService getFooService() throws Exception {
return new FooService(config.username, config.password)
}
}
Вот класс FooProperties:
@ConfigurationProperties(prefix = "foo")
public class FooProperties {
String username;
String password;
}
In resources/META-INF/spring.factories
У меня есть следующая строка:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.my.company.FooServiceAutoConfigure
В моем основном проекте (@SpringBootApplication
) у меня есть:
- Зависимость Maven от этой библиотеки.
- foo.username и foo.password в application.properties
- Некоторые
@Autowired FooService
.
В журналах я вижу, что Spring Boot пытается создать экземпляр FooService, но имя config.user и config.password являются нулями. Почему?