亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring中@ConfigurationProperties的用法解析

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

@ConfigurationProperties的用法

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

作用于方法

使用條件: 當(dāng)將@ConfigurationProperties作用于方法上時(shí),該方法需要有@Bean且所屬類(lèi)需要有@Configuration 使用場(chǎng)景: 比較常見(jiàn)的就是配置讀寫(xiě)分離的場(chǎng)景

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();
    }
}

作用于類(lèi)

使用場(chǎng)景: 配置數(shù)據(jù)庫(kù)

# 配置文件內(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、該注解有一個(gè) prefix 屬性,根據(jù)指定的前綴來(lái)綁定配置文件中的配置

2、@ConfigurationProperties 和 @value 有著相同的功能,@ConfigurationProperties 其實(shí)就類(lèi)似于使用多個(gè) @Value 同時(shí)綁定,綁定的是對(duì)象;

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

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

相關(guān)文章

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

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

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

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

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

    springcloud中Feign超時(shí)提示Read timed out executing

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

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

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

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

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

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

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

    servlet3文件上傳操作

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

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

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

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

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

    解決idea check out 切換分支時(shí)找不到需要的分支問(wèn)題

    這篇文章主要介紹了解決idea check out 切換分支時(shí)找不到需要的分支問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02

最新評(píng)論