有人能给予如何在@Bean
方法上直接使用@ConfigurationProperties
注解的MWE吗?
我已经看到无数的例子,它被用于类定义-但还没有例子的@Bean
方法。
引用documentation:
- 将此添加到类定义或**
@Bean
方法** - @目标(值={类型,方法})
所以,我认为有一种可能性和一个预期的用途以及-但不幸的是,我无法弄清楚它。
有人能给予如何在@Bean
方法上直接使用@ConfigurationProperties
注解的MWE吗?
我已经看到无数的例子,它被用于类定义-但还没有例子的@Bean
方法。
引用documentation:
@Bean
方法**所以,我认为有一种可能性和一个预期的用途以及-但不幸的是,我无法弄清楚它。
4条答案
按热度按时间goqiplq21#
在这里,DataSource类具有属性url、username、password、driverClassName,因此spring boot将它们Map到创建的对象。
DataSource类的示例:
换句话说,这与使用原型注解(@Component、@Service等)初始化某个bean具有相同的效果,例如:
ehxuflar2#
24.8.1第三方配置
除了使用
@ConfigurationProperties
来注解类,你还可以在公共@Bean
方法上使用它,当你想把属性绑定到你控制之外的第三方组件时,这样做特别有用。要通过Environment属性配置Bean,请将
@ConfigurationProperties
添加到其Bean注册中,如以下示例所示:使用另一个前缀定义的任何属性都Map到AnotherComponent bean上,方式与前面的AcmeProperties示例类似。
v9tzhpje3#
我找到了以下解决方案:例如,我们在应用程序yaml中有几个部分,我们对appConfig感兴趣:
我们想分裂共同的设置和使用KeyCloak设置,所以我实现了以下方案:
我创建了以下KeyCloakConfig类(没有@ConfigurationProperties注解),以使用身份验证服务器设置进行存储:
和AppConfig类,该类保存常用设置,如版本、使用DB驱动程序的环境& url以及KeyCloakConfig作为属性:
qmb5sa224#
您可以按如下方式使用@ConfigurationProperties
实体模型
Bean方法
应用程序.属性
Spring启动应用程序