最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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的按需配置 可以放哪里: 類上,方法上

作用于方法

使用條件: 當將@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類的命名比較嚴格,必須和 prefix 的后綴名一致, 不然值會綁定不上。但是配置文件里蛇形命名變量 “driver-class-name” 和 POJO里面轉(zhuǎn)駝峰 命名屬性 “driverClassName” 可以綁定成功。

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

相關(guān)文章

  • 詳解Java數(shù)據(jù)庫連接JDBC基礎(chǔ)知識(操作數(shù)據(jù)庫:增刪改查)

    詳解Java數(shù)據(jù)庫連接JDBC基礎(chǔ)知識(操作數(shù)據(jù)庫:增刪改查)

    這篇文章主要介紹了詳解Java數(shù)據(jù)庫連接JDBC基礎(chǔ)知識(操作數(shù)據(jù)庫:增刪改查),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實例代碼

    java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實例代碼

    這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • SpringBoot中動態(tài)注入Bean的技巧分享

    SpringBoot中動態(tài)注入Bean的技巧分享

    在 Spring Boot 開發(fā)中,動態(tài)注入 Bean 是一種強大的技術(shù),它允許我們根據(jù)特定條件或運行時環(huán)境靈活地創(chuàng)建和管理 Bean,本文將介紹 Spring Boot 中三種動態(tài) Bean 注入技巧,需要的可以參考一下
    2025-06-06
  • Java ArrayList 實現(xiàn)實例講解

    Java ArrayList 實現(xiàn)實例講解

    ArrayList是基于數(shù)組實現(xiàn)的,是一個動態(tài)數(shù)組,其容量能自動增長,類似于C語言中的動態(tài)申請內(nèi)存,動態(tài)增長內(nèi)存。這篇文章主要介紹了java ArrayList 實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 微信小程序與Java后端接口交互

    微信小程序與Java后端接口交互

    本文主要介紹了微信小程序與Java后端接口交互,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 前端如何調(diào)用后端接口進行數(shù)據(jù)交互詳解(axios和SpringBoot)

    前端如何調(diào)用后端接口進行數(shù)據(jù)交互詳解(axios和SpringBoot)

    一般來講前端不會給后端接口,而是后端給前端接口的情況比較普遍,下面這篇文章主要給大家介紹了關(guān)于前端如何調(diào)用后端接口進行數(shù)據(jù)交互的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 詳解Java文件下載的幾種實現(xiàn)方式

    詳解Java文件下載的幾種實現(xiàn)方式

    這篇文章主要介紹了詳解Java文件下載的幾種實現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • SpringBoot+hutool實現(xiàn)圖片驗證碼

    SpringBoot+hutool實現(xiàn)圖片驗證碼

    本文主要介紹了SpringBoot+hutool實現(xiàn)圖片驗證碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java設(shè)計模式之責任鏈模式詳解

    Java設(shè)計模式之責任鏈模式詳解

    這篇文章主要介紹了Java設(shè)計模式之責任鏈模式詳解,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • java從命令行獲取數(shù)據(jù)的三種方式代碼實例

    java從命令行獲取數(shù)據(jù)的三種方式代碼實例

    這篇文章主要介紹了java從命令行獲取數(shù)據(jù)的三種方式代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論

上高县| 澄迈县| 石嘴山市| 延川县| 新竹县| 曲水县| 苏尼特右旗| 新丰县| 晋州市| 筠连县| 万州区| 开鲁县| 宿州市| 红安县| 炉霍县| 建始县| 迭部县| 宁陕县| 平泉县| 富锦市| 溧阳市| 宁夏| 麦盖提县| 化隆| 湛江市| 赣榆县| 锡林郭勒盟| 武功县| 仁布县| 沛县| 潼南县| 翁牛特旗| 同德县| 揭阳市| 万载县| 色达县| 桦甸市| 广宁县| 静宁县| 吉安市| 澳门|