@ConfigurationProperties + @EnableConfigurationProperties
生活随笔
收集整理的這篇文章主要介紹了
@ConfigurationProperties + @EnableConfigurationProperties
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、ConfigurationProperties
在類上通過@ConfigurationProperties注解聲明當前類為屬性讀取類。
舉例:
@ConfigurationProperties(prefix = "jdbc")prefix="jdbc" 讀取屬性文件中,前綴為jdbc的值。
在類上定義各個屬性,名稱必須與屬性文件中 jdbc. 后面部分一致。
需要注意的是,如果我們沒有指定屬性文件的地址,SpringBoot 默認讀取?application.properties/application.yml??中的屬性文件名。
@Data @ConfigurationProperties(prefix = "jdbc") class JdbcProperties {private String url;private String driverClaprivate;private String username;private String password; }?
2、EnableConfigurationProperties
@ConfigurationProperties 注解我們可以理解成用來把 properties 配置文件轉化為 Bean 使用的,而 @EnableConfigurationProperties 注解的作用是讓 @ConfigurationProperties 注解生效。
如果只配置 @ConfigurationProperties 注解,在 IOC 容器中是獲取不到 properties 配置文件轉化的 Bean 的。
那么我們如何獲取我們使用了 @ConfigurationProperties 注解的類呢?
2.1?@Autowired 注入
@Autowired private JdbcProperties prop;2.2?構造函數注入
private JdbcProperties prop; public JdbcConfig(Jdbcproperties prop){this.prop = prop; }2.3?聲明有@Bean的方法參數注入
@Bean public TestBean dataSource(JdbcProperties jdbcProperties) {syso(jdbcProperties.getUsername());// syso 簡寫return new TestBean; }通過上方三種方式,都可以在?JdbcProperties jdbcProperties 中直接拿到注入的數據。
?
總結
以上是生活随笔為你收集整理的@ConfigurationProperties + @EnableConfigurationProperties的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python神经网络算法pdf_深度学习
- 下一篇: AD10 PCB等长布线----蛇形布线