亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

spring boot自定義配置源操作步驟

2024-07-13 10:13:09
字體:
來源:轉載
供稿:網友

概述

我們知道,在Spring boot中可以通過xml或者@ImportResource 來引入自己的配置文件,但是這里有個限制,必須是本地,而且格式只能是 properties(或者 yaml)。那么,如果我們有遠程配置,如何把他引入進來來呢。

如何做

其實自定義配置源只需要3步

第一步,編寫PropertySource

編寫一個類繼承EnumerablePropertySource,然后實現它的抽象方法即可,抽象方法看名字就知道作用,簡單起見,這里使用一個map來保存配置,例如:

public class MyPropertySource extends EnumerablePropertySource<Map<String,String>> {  public MyPropertySource(String name, Map source) {    super(name, source);  }  //獲取所有的配置名字  @Override  public String[] getPropertyNames() {    return source.keySet().toArray(new String[source.size()]);  }  //根據配置返回對應的屬性  @Override  public Object getProperty(String name) {    return source.get(name);  }}

第二步,編寫PropertySourceLocator

PropertySourceLocator 其實就是用來定位我們前面的PropertySource,需要重寫的方法只有一個,就是返回一個PropertySource對象,例如,

public class MyPropertySourceLocator implements PropertySourceLocator {  @Override  public PropertySource<?> locate(Environment environment) {    //簡單起見,這里直接創建一個map,你可以在這里寫從哪里獲取配置信息。    Map<String,String> properties = new HashMap<>();    properties.put("myName","lizo");    MyPropertySource myPropertySource = new MyPropertySource("myPropertySource",properties);    return myPropertySource;  }}

第三步,讓PropertySourceLocator生效

新建一個配置類,例如

@Configurationpublic class MyConfigBootstrapConfiguration {  @Bean  public MyPropertySourceLocator myPropertySourceLocator(){    return new MyPropertySourceLocator();  }}

最后再創建/更新 META-INFO/spring.factories(如果做過自定義Spring boot開發的都知道這個文件)

org.springframework.cloud.bootstrap.BootstrapConfiguration=/com.lizo.MyConfigBootstrapConfiguration

簡單來說就是給Spring Boot說,這個是一個啟動配置類(一種優先級很高的配置類)。

編寫測試

測試一

@SpringBootApplicationpublic class Test2 {  public static void main(String[] args) throws SQLException {    ConfigurableApplicationContext run = SpringApplication.run(Test2.class, args);    Ser bean = run.getBean(Ser.class);    System.out.println(bean.getMyName());  }  @Component  public static class Ser{    @Value("${myName}")    private String myName;    public String getMyName() {      return myName;    }    public void setMyName(String myName) {      this.myName = myName;    }  }}

正確輸出

測試二

我們在application配置文件中,引入這個變量呢,例如在application.properties中

my.name=${myName}

同樣,結果也是能夠生效的

myName就是上面在PropertySourceLocator中寫進去的配置屬性。運行程序,可以看見確實是可以正確輸出。

小結

上面只是拋磚引玉,這樣無論是哪里的數據源,都可以通過這種方式編寫,把配置交給Spring 管理。這樣再也不怕在本地配置文件中出現敏感信息啦,再也不怕修改配置文件需要登錄每一個機器修改啦。

 

注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人午夜黄色影院| 久久久www成人免费精品张筱雨| 日韩成人性视频| 国产精品女人网站| 国产精品旅馆在线| 亚洲男人天堂2024| 亚洲欧洲在线免费| 韩国三级电影久久久久久| 日韩欧美综合在线视频| 日本午夜在线亚洲.国产| 久久中文字幕在线视频| 久久av红桃一区二区小说| 国产玖玖精品视频| 欧美精品免费在线观看| 亚洲精品美女久久久| 国产精品永久免费| 亚洲精品乱码久久久久久金桔影视| 日韩高清免费观看| 91久久国产婷婷一区二区| 亚洲第一天堂无码专区| 久久视频免费观看| 55夜色66夜色国产精品视频| 精品一区二区三区四区| 亚洲人成伊人成综合网久久久| 国语对白做受69| 91欧美日韩一区| 成人福利视频在线观看| 亚洲人成欧美中文字幕| 欧美午夜片欧美片在线观看| 在线电影欧美日韩一区二区私密| 免费99精品国产自在在线| 国产精品一区=区| 久久久久久这里只有精品| 欧美成年人视频网站欧美| 97精品国产aⅴ7777| 日韩中文av在线| 国产精品一久久香蕉国产线看观看| 久久久免费电影| 久久精品99久久香蕉国产色戒| 亚洲色无码播放| 热99在线视频| 亚洲精品永久免费精品| 91九色综合久久| 人人爽久久涩噜噜噜网站| 国产精品久久久久久久久久久新郎| 日韩一区二区久久久| 亚洲视频一区二区三区| 久久久中精品2020中文| 国产精品v日韩精品| 欧美性猛交xxxxx免费看| 色综合五月天导航| 亚洲成人精品视频| 伊人久久五月天| 色偷偷偷综合中文字幕;dd| 国产精品va在线播放我和闺蜜| 亚洲国产天堂久久综合网| 亚洲sss综合天堂久久| 亚洲一区二区在线播放| 久久在线免费观看视频| 欧美成人精品激情在线观看| 亚洲二区中文字幕| 国产精品白丝av嫩草影院| 亚洲xxx视频| 欧美黄色免费网站| 日本中文字幕久久看| 久久国产视频网站| 国产精品高精视频免费| 精品国产成人av| 亚洲人成在线观| 欧美午夜精品久久久久久人妖| 97激碰免费视频| 韩剧1988免费观看全集| 亚洲欧美国产一本综合首页| 亚洲人av在线影院| 成人情趣片在线观看免费| 中文字幕亚洲综合久久筱田步美| 亚洲视频在线观看免费| 18性欧美xxxⅹ性满足| 国产区精品视频| 午夜精品一区二区三区视频免费看| 91最新国产视频| 亚洲国产精品美女| 国产日本欧美一区二区三区在线| 韩国视频理论视频久久| 久久精品亚洲94久久精品| 国产精品视频在线观看| 伊人青青综合网站| 亚洲精品99久久久久中文字幕| xxav国产精品美女主播| 91免费看片在线| 成人国产精品久久久| 欧美性猛交xxxx乱大交极品| 清纯唯美日韩制服另类| 亚洲视频欧洲视频| 国产一区二区丝袜高跟鞋图片| 国产精品中文字幕在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩色婷婷| 亚洲精品中文字幕av| 欧美成人精品影院| 一区二区三区视频免费在线观看| 精品国内自产拍在线观看| 久久久久免费精品国产| 色综合久久久888| 欧美午夜女人视频在线| 人人澡人人澡人人看欧美| 久久久这里只有精品视频| 国产在线视频2019最新视频| 亚洲综合最新在线| 国自产精品手机在线观看视频| 欧美色欧美亚洲高清在线视频| 国产精品视频26uuu| 国产中文日韩欧美| 欧美午夜片欧美片在线观看| 中文字幕久精品免费视频| 亚洲一区二区三区成人在线视频精品| 日韩成人av网址| 亚洲va欧美va在线观看| 97国产suv精品一区二区62| 亚洲国产精品推荐| 久久精品国产亚洲| 国内伊人久久久久久网站视频| 热99精品里视频精品| 欧美猛交ⅹxxx乱大交视频| 国产成人精品综合久久久| 亚洲女成人图区| 欧美成年人在线观看| 亚洲天堂男人天堂女人天堂| 亚洲高清免费观看高清完整版| 欧美精品第一页在线播放| 欧美精品生活片| 亚洲成人aaa| 欧美成人免费一级人片100| 亚洲精品国偷自产在线99热| 国产亚洲欧美另类中文| 色综合影院在线| 亚洲福利在线观看| 欧美成人国产va精品日本一级| 国产视频一区在线| 亚州av一区二区| 亚洲国产中文字幕久久网| 欧美一级淫片播放口| 日韩精品福利网站| 日韩精品视频免费在线观看| 国产精品18久久久久久麻辣| 91精品视频免费观看| 国产午夜精品麻豆| 欧美日韩亚洲91| 91av在线视频观看| 91精品视频观看| 欧美性在线视频| 亚洲无限乱码一二三四麻| 亚洲日韩中文字幕| 668精品在线视频| 欧美日韩国产一区二区| 成人欧美一区二区三区在线| 国产亚洲人成网站在线观看| 91在线视频一区| 亚洲日本中文字幕| 亚洲人精选亚洲人成在线| 色噜噜狠狠狠综合曰曰曰| 日韩中文在线中文网三级| 欧美亚州一区二区三区| 欧美性xxxxxxx|