日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

spring+apollo動態(tài)獲取yaml格式的配置方式

瀏覽:123日期:2023-09-08 10:09:12

默認spring裝載的都是.properties格式的配置文件,但是有時我們需要定義list或者map類型的配置,那么yaml就具有優(yōu)勢。

以下演示利用apollo來完成自動更新ip白名單的功能

1.重寫配置工廠

public class YmlPropertySourceFactory extends DefaultPropertySourceFactory { public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException { String configName = resource.getResource().getFilename(); ConfigFile configFile = ConfigService.getConfigFile(configName.substring(0, configName.indexOf('.')), ConfigFileFormat.YML); String ct = configFile.getContent(); return YamlPropUtil.buildYaml(configName, ct); }}

定義-D參數(shù)的appid和conf目錄

public class YamlPropUtil { public static PropertySource buildYaml(String name, String content) throws IOException { String sysName = System.getProperty('app.id'); String appDir = System.getProperty('apollo.cacheDir'); if (appDir.endsWith(File.separator)) { appDir= appDir.substring(0, appDir.length() - 1); } String filePath = appDir+ File.separator + sysName + File.separator + name; File file = new File(filePath); if (file.exists()) { file.delete(); } try (BufferedWriter bufferedWriter = Files.newWriter(file, Charsets.UTF_8)) { bufferedWriter.write(content); bufferedWriter.flush(); List<PropertySource<?>> sources = new YamlPropertySourceLoader().load(name, new FileSystemResource(filePath)); return sources.get(0); } catch (IOException e) { throw e; } }}

2.裝載配置

whiteList.yml

注意本地也要存放上述文件在classpath下

white: ip: #ip白名單列表 list: - 192.168.103.34 - 192.168.1.102@Configuration@ConfigurationProperties(prefix = 'white.ip')@PropertySource(value = 'classpath:whiteList.yml', factory = YmlPropertySourceFactory.class)@Slf4jpublic class IpWhiteListService { private List<String> list; private final static int MAX_PROP_ITEM = 1000; private final static String PROP_NAME = 'whiteList.yml'; private final static String KEY_PREFIX = 'white.ip.list'; public void setList(List<String> list) { this.list = list; } public boolean isAllow(String address) { return list.contains(address); } @ApolloConfigChangeListener(PROP_NAME) public void onChange(ConfigChangeEvent changeEvent) { Set<String> keys = changeEvent.changedKeys(); keys.forEach(e -> { String newVal = changeEvent.getChange(e).getNewValue(); log.debug('whiteList is changed={}', newVal); String ct = newVal; org.springframework.core.env.PropertySource propertySource = null; try { propertySource = YamlPropUtil.buildYaml(PROP_NAME, ct); } catch (IOException ex) { log.error('', e); } List<String> newList = Lists.newArrayList(); for (int i = 0; i < MAX_PROP_ITEM; i++) { String pName = KEY_PREFIX + '[' + i + ']'; if (propertySource.containsProperty(pName)) { String val = (String) propertySource.getProperty(pName); newList.add(val); } } list = newList; }); }}

補充知識:yml格式問題

以縮進代表層級關(guān)系

空格個數(shù)不重要,但是同一層級必須左對齊

大小寫敏感

格式為:key= value

注釋單行用#,只能注釋單行

application.properties中

logging.level.root=DEBUGlogging.level.org.springframework=DEBUGlogging.level.org.org.mybatis=DEBUG

轉(zhuǎn)化為application.yml中

logging:level:root: DEBUGorg.springframework: DEBUGorg.org.mybatis: DEBUG

冒號后面必須跟空格,否則格式錯誤

以上這篇spring+apollo動態(tài)獲取yaml格式的配置方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
97精品久久| 一二三区精品| 亚洲深深色噜噜狠狠爱网站| 国产成人黄色| 青青草国产成人99久久| 在线观看亚洲精品福利片| 中文视频一区| 亚洲韩日在线| 99久久99久久精品国产片果冰| 一二三区精品| 成人国产精品久久| 国产欧美69| 国精品一区二区三区| 日韩精品电影| 久久精品免费一区二区三区| 久久裸体视频| 欧美日韩在线二区| 免费不卡中文字幕在线| 久久美女性网| 激情丁香综合| 国产一区欧美| 国产婷婷精品| 蜜桃视频第一区免费观看| 在线国产精品一区| 欧美在线看片| 亚洲国产影院| 日韩欧美一区二区三区免费观看| 日韩二区在线观看| 国产欧美一级| 美美哒免费高清在线观看视频一区二区 | 亚洲深夜av| 国产视频欧美| 97精品国产99久久久久久免费| 久久婷婷丁香| 久久亚洲成人| 蜜臀久久99精品久久久久久9| 日韩免费看片| 欧洲av不卡| 美女精品一区二区| 精品视频97| 久久精品国产68国产精品亚洲| 国产精品日本一区二区不卡视频 | 国产精品一区二区精品视频观看 | 88久久精品| 国产精品一区二区三区www| 精品国产黄a∨片高清在线| 亚洲女同一区| 日韩黄色在线观看| 国产精品色婷婷在线观看| 国产伦久视频在线观看| 石原莉奈在线亚洲二区| 国产高清一区| 亚洲精品韩国| 成人三级高清视频在线看| 精品欧美激情在线观看| 日韩精品一区二区三区中文在线| 在线观看精品| 久久久免费人体| 天堂8中文在线最新版在线| 蜜臀精品一区二区三区在线观看 | 国产欧美视频在线| 日韩欧美少妇| 欧美日韩一区二区国产| 日本在线观看不卡视频| 精品丝袜久久| 日韩在线播放一区二区| 亚洲天堂av影院| 亚洲一区二区三区四区五区午夜 | 亚洲欧美日韩国产一区二区| 亚洲精选成人| 国产经典一区| 国产一区二区中文| 日韩精品视频一区二区三区| 欧美黄页在线免费观看| 欧美三区四区| 综合一区二区三区| 成人国产精选| 亚洲激情偷拍| 日本不卡视频在线观看| 精品视频高潮| 黄色日韩精品| 91精品啪在线观看国产爱臀| 成人一区不卡| 美女久久一区| 狠狠干综合网| 日韩综合小视频| 国产盗摄——sm在线视频| 狠狠爱成人网| 精品国产黄a∨片高清在线| 国产亚洲网站| 精品午夜久久| 亚洲精品美女| 欧美日韩尤物久久| 综合亚洲视频| 亚洲精品**中文毛片| 久久xxxx| av免费不卡国产观看| 亚洲精品第一| 日本国产精品| 欧美极品一区二区三区| 国产亚洲毛片在线| 在线看片福利| 国产日韩欧美三区| 国产经典一区| 亚洲www啪成人一区二区| 亚洲精品国产精品粉嫩| 国产精品国产一区| 日韩欧美久久| 亚洲精品网址| 久久电影一区| 欧美成a人片免费观看久久五月天| 国产精品一区二区美女视频免费看| 欧美亚洲免费| 国产精品大片| 日韩一区二区免费看| 成人午夜在线| 青青国产91久久久久久| 国产欧美日本| 婷婷综合成人| 久久国产亚洲精品| 久久wwww| 日本成人手机在线| 亚洲一区二区免费看| 三上悠亚国产精品一区二区三区| 黑人精品一区| 日本精品不卡| 精品在线99| 精品三级在线观看视频| 四虎精品永久免费| 首页国产欧美日韩丝袜| 另类欧美日韩国产在线| 免费日韩精品中文字幕视频在线| 欧美综合精品| 亚洲精品1区2区| 欧美va天堂在线| 丝袜av一区| 成人自拍av| 美女福利一区二区三区| 精品国产亚洲日本| 国产精品网在线观看| 快she精品国产999| 在线一区欧美| 欧美一区二区三区高清视频| 午夜精品成人av| 久久不见久久见国语| 老色鬼精品视频在线观看播放| 青青青免费在线视频| 麻豆精品蜜桃| 国产在线日韩| 不卡专区在线| 免费精品视频在线| 9久re热视频在线精品| 欧美丝袜一区| 欧美日韩a区| 日韩欧美一区二区三区在线视频| 99久久久久国产精品| 在线看片一区| 国产农村妇女精品一二区| 国产精品午夜一区二区三区| 色8久久久久| 日本在线成人| 国产日韩中文在线中文字幕 | 激情婷婷欧美| 久久久人人人| 欧美1区2区3区| 亚洲www啪成人一区二区| 深夜视频一区二区| 国内精品99| 丝瓜av网站精品一区二区| 国产劲爆久久| 久久影院资源站| 午夜久久中文| 亚洲夜间福利| 性欧美69xoxoxoxo| 日韩精品一区二区三区中文在线 | 国产精品综合色区在线观看| 国产毛片精品| 久久久久久亚洲精品美女| 国产精品网址| a国产在线视频| 欧美/亚洲一区| 伊人久久亚洲热| 欧美日本一区| 国产在线观看www| 米奇777超碰欧美日韩亚洲| 亚洲欧美日韩国产综合精品二区| 国产91欧美| 电影亚洲精品噜噜在线观看 | 99成人在线| 成人国产综合| 私拍精品福利视频在线一区| 亚洲欧美视频一区二区三区| 99日韩精品| 欧美日韩xxxx| 三级一区在线视频先锋| 亚洲tv在线| 热久久免费视频| 欧美天堂在线| 亚洲h色精品| 亚洲v天堂v手机在线|