我是 Spring 依赖注入的新手,我正在努力学习最佳实践。我想知道将带有注释的类@ConfigurationProperties
注入服务层类(带有注释@Service
)是否是一种好的设计理念。我试图将我的属性映射application.yml
到一个配置类,如下所示 -
@ConstructorBinding
@ConfigurationProperties(prefix = "application")
class ApplicationConfig(
val kafka: someDeeplyNestedType = SomeDeeplyNestedObj()
) {
// helper functions
}
然后我在服务层中注入上面的配置类,如下所示 -
@Service
@EnableConfigurationProperties(ApplicationConfig::class)
class RestService(val config: ApplicationConfig) {
init {
// Reference config object
// Reference application.yml properties via config object.
}
}
我很想知道我是否可以改进我当前的实现——不确定是否可以将configuration
类传递给service-layer
类。我也很想知道是否有更好的布线方法ApplicationConfig
而不需要使用EnableConfigurationProperties
注释。