欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring中@ConfigurationProperties的用法解析

 更新時間:2023年11月07日 11:19:31   作者:張紫娃  
這篇文章主要介紹了Spring中@ConfigurationProperties的用法解析,傳統(tǒng)的Spring一般都是基本xml配置的,后來spring3.0新增了許多java config的注解,特別是spring boot,基本都是清一色的java config,需要的朋友可以參考下

@ConfigurationProperties的用法

作用: 通過與其他注解配合使用,能夠?qū)崿F(xiàn)Bean的按需配置 可以放哪里: 類上,方法上

作用于方法

使用條件: 當(dāng)將@ConfigurationProperties作用于方法上時,該方法需要有@Bean且所屬類需要有@Configuration 使用場景: 比較常見的就是配置讀寫分離的場景

spring.datasource.druid.write.url=jdbc:mysql://localhost:3306/jpa
spring.datasource.druid.write.username=root
spring.datasource.druid.write.password=1
spring.datasource.druid.write.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.druid.read.url=jdbc:mysql://localhost:3306/jpa
spring.datasource.druid.read.username=root
spring.datasource.druid.read.password=1
spring.datasource.druid.read.driver-class-name=com.mysql.jdbc.Driver

@Configuration
public class DruidDataSourceConfig {

    @Bean(name = "readDruidDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.druid.read")
    public DataSource readDruidDataSource() {
        return new DruidDataSource();
    }

    @Primary
    @Bean(name = "writeDruidDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.druid.write")
    public DataSource writeDruidDataSource() {
        return new DruidDataSource();
    }
}

作用于類

使用場景: 配置數(shù)據(jù)庫

# 配置文件內(nèi)容
spring.datasource.url=jdbc:mysql://127.0.0.1:8888/test?useUnicode=false&autoReconnect=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
@ConfigurationProperties(prefix = "spring.datasource")
@Component
public class DatasourcePro {
    private String url;
    private String username;
    private String password;
    private String driverClassName; // 配置文件中是driver-class-name, 轉(zhuǎn)駝峰命名便可以綁定成
    private String type;
    // standard getters and setters
}
@Controller
@RequestMapping(value = "/config")
public class ConfigurationPropertiesController {
    @Autowired
    private DatasourcePro datasourcePro;
    @RequestMapping("/test")
    @ResponseBody
    public Map<String, Object> test(){
        Map<String, Object> map = new HashMap<>();
        map.put("url", datasourcePro.getUrl());
        map.put("userName", datasourcePro.getUsername());
        map.put("password", datasourcePro.getPassword());
        map.put("className", datasourcePro.getDriverClassName());
        map.put("type", datasourcePro.getType());
        return map;
    }
}

總結(jié)

1、該注解有一個 prefix 屬性,根據(jù)指定的前綴來綁定配置文件中的配置

2、@ConfigurationProperties 和 @value 有著相同的功能,@ConfigurationProperties 其實就類似于使用多個 @Value 同時綁定,綁定的是對象;

3、 @ConfigurationProperties 修飾的POJO類的命名比較嚴(yán)格,必須和 prefix 的后綴名一致, 不然值會綁定不上。但是配置文件里蛇形命名變量 “driver-class-name” 和 POJO里面轉(zhuǎn)駝峰 命名屬性 “driverClassName” 可以綁定成功。

到此這篇關(guān)于Spring中@ConfigurationProperties的用法解析的文章就介紹到這了,更多相關(guān)@ConfigurationProperties的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • feign參數(shù)過多導(dǎo)致調(diào)用失敗的解決方案

    feign參數(shù)過多導(dǎo)致調(diào)用失敗的解決方案

    這篇文章主要介紹了feign參數(shù)過多導(dǎo)致調(diào)用失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 簡單了解Spring中的事務(wù)控制

    簡單了解Spring中的事務(wù)控制

    這篇文章主要介紹了簡單了解Spring中的事務(wù)控制,事務(wù)是一組操作的執(zhí)行單元,下面我們來簡單學(xué)習(xí)一下吧
    2019-05-05
  • springcloud中Feign超時提示Read timed out executing POST的問題及解決方法

    springcloud中Feign超時提示Read timed out executing

    Feign接口調(diào)用分兩層,Ribbon的調(diào)用和Hystrix調(diào)用,理論上設(shè)置Ribbon的時間即可,但是Ribbon的超時時間和Hystrix的超時時間需要結(jié)合起來,這篇文章給大家介紹springcloud之Feign超時提示Read timed out executing POST問題及解決方法,感興趣的朋友一起看看吧
    2024-01-01
  • IDEA的Web項目右鍵無法創(chuàng)建Servlet問題解決辦法

    IDEA的Web項目右鍵無法創(chuàng)建Servlet問題解決辦法

    這篇文章主要介紹了IDEA的Web項目右鍵無法創(chuàng)建Servlet問題解決辦法的相關(guān)資料,在IDEA中新建Servlet時發(fā)現(xiàn)缺失選項,可以通過在pom.xml文件中添加servlet依賴解決,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • Java職責(zé)鏈模式的深入了解

    Java職責(zé)鏈模式的深入了解

    這篇文章主要為大家介紹了Java職責(zé)鏈模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • springboot2.0?@Slf4j?log?彩色日志配置輸出到文件

    springboot2.0?@Slf4j?log?彩色日志配置輸出到文件

    這篇文章主要介紹了springboot2.0 @Slf4j log日志配置輸出到文件(彩色日志),解決方式是使用了springboot原生自帶的一個log框架,結(jié)合實例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2023-08-08
  • servlet3文件上傳操作

    servlet3文件上傳操作

    這篇文章主要介紹了servlet3文件上傳操作的相關(guān)資料,需要的朋友可以參考下
    2017-11-11
  • mybatis動態(tài)插入list傳入List參數(shù)的實例代碼

    mybatis動態(tài)插入list傳入List參數(shù)的實例代碼

    本文通過實例代碼給大家介紹了mybatis動態(tài)插入list,Mybatis 傳入List參數(shù)的方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-04-04
  • Java利用Geotools實現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換

    Java利用Geotools實現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換

    GeoTools 是一個開源的 Java GIS 工具包,可利用它來開發(fā)符合標(biāo)準(zhǔn)的地理信息系統(tǒng)。本文將利用工具包Geotools實現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換,感興趣的可以了解一下
    2022-08-08
  • 解決idea check out 切換分支時找不到需要的分支問題

    解決idea check out 切換分支時找不到需要的分支問題

    這篇文章主要介紹了解決idea check out 切換分支時找不到需要的分支問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論