成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

spring boot啟動(dòng)加載外部配置文件

_Suqin / 2971人閱讀

摘要:業(yè)務(wù)需求加載外部配置文件,部署時(shí)更改比較方便。先上代碼使用變量的工具類(lèi)也可以通過(guò)使用這中加載方法優(yōu)先級(jí)很高,如果與配置文件同名,將覆蓋文件中的配置。更新工具類(lèi)可能晚于某些初始化的類(lèi)加載。

業(yè)務(wù)需求:加載外部配置文件,部署時(shí)更改比較方便。

先上代碼:

@SpringBootApplication
public class Application {

    public static void main(String[] args) throws Exception {
        SpringApplicationBuilder springApplicationBuilder = new SpringApplicationBuilder(Application.class);
        springApplicationBuilder.web(true);
        Properties properties = getProperties();
        StandardEnvironment environment = new StandardEnvironment();
        environment.getPropertySources().addLast(new PropertiesPropertySource("micro-service", properties));
        springApplicationBuilder.environment(environment);
        springApplicationBuilder.run(args);
    }

    private static Properties getProperties() throws IOException {
        PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        propertiesFactoryBean.setIgnoreResourceNotFound(true);
        Resource fileSystemResource = resolver.getResource("file:/opt/company/test.properties");
        propertiesFactoryBean.setLocations(fileSystemResource);
        propertiesFactoryBean.afterPropertiesSet();
        return propertiesFactoryBean.getObject();
    }
}

使用變量的工具類(lèi)

@Component
public class EnvironmentUtil {

    private static Environment environment;

    @Autowired
    public void setEnvironment(Environment environment) {
        EnvironmentUtil.environment = environment;
    }

    public static  T getProperty(String key, Class targetType, T defaultValue) {
        return environment.getProperty(key, targetType, defaultValue);
    }

    public static  T getProperty(String key, Class targetType) {
        return environment.getProperty(key, targetType);
    }

    public static String getProperty(String key) {
        return environment.getProperty(key);
    }

    public static String getProperty(String key, String defaultValue) {
        return environment.getProperty(key, defaultValue);
    }

    public static Integer getInteger(String key, Integer defaultValue) {
        return environment.getProperty(key, Integer.class, defaultValue);
    }
}

也可以通過(guò)@Value("${key}")使用

這中加載方法優(yōu)先級(jí)很高,如果與spring boot配置文件同名,將覆蓋application.properties文件中的配置。

更新:
工具類(lèi)可能晚于某些初始化的類(lèi)加載。請(qǐng)?zhí)砑?b>@DependsOn("environmentUtil")

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70933.html

相關(guān)文章

  • Spring-Boot學(xué)習(xí)筆記

    摘要:學(xué)習(xí)筆記使用很容易創(chuàng)建一個(gè)獨(dú)立運(yùn)行運(yùn)行內(nèi)嵌容器準(zhǔn)生產(chǎn)級(jí)別的基于框架的項(xiàng)目,使用你可以不用或者只需要很少的配置。異常消息如果這個(gè)錯(cuò)誤是由異常引起的。錯(cuò)誤發(fā)生時(shí)請(qǐng)求的路徑。 Spring-Boot 1.5 學(xué)習(xí)筆記 使用Spring Boot很容易創(chuàng)建一個(gè)獨(dú)立運(yùn)行(運(yùn)行jar,內(nèi)嵌Servlet容器)、準(zhǔn)生產(chǎn)級(jí)別的基于Spring框架的項(xiàng)目,使用Spring Boot你可以不用或者只需要很...

    curlyCheng 評(píng)論0 收藏0
  • 一文掌握 Spring Boot Profiles

    摘要:需要注意的是必須要使用版本為以上才支持屬性。與格式文件不同,正對(duì)不同的,無(wú)法在一個(gè)文件設(shè)置,官方采用命名形式為格式來(lái)達(dá)成一樣的效果。采用方式添加的是屬于額外激活的,也就是說(shuō)覆蓋掉外部傳入的指定的。 showImg(https://segmentfault.com/img/remote/1460000019924197?w=1050&h=500); Spring Boot Profile...

    Eidesen 評(píng)論0 收藏0
  • Spring Boot 配置文件中的花樣,看這一篇足矣!

    摘要:的默認(rèn)配置文件位置為。比如,我們需要自定義模塊的服務(wù)端口號(hào),可以在中添加來(lái)指定服務(wù)端口為,也可以通過(guò)來(lái)指定應(yīng)用名該名字在應(yīng)用中會(huì)被注冊(cè)為服務(wù)名。同時(shí),配置內(nèi)容都對(duì)開(kāi)發(fā)人員可見(jiàn),本身這也是一種安全隱患。 在快速入門(mén)一節(jié)中,我們輕松的實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的RESTful API應(yīng)用,體驗(yàn)了一下Spring Boot給我們帶來(lái)的諸多優(yōu)點(diǎn),我們用非常少的代碼量就成功的實(shí)現(xiàn)了一個(gè)Web應(yīng)用,這是傳統(tǒng)的...

    pingan8787 評(píng)論0 收藏0
  • 最渣的 Spring Boot 文章

    摘要:如刪除臨時(shí)文件,清除緩存信息,讀取配置文件信息,數(shù)據(jù)庫(kù)連接等。提供的接口也可以滿(mǎn)足該業(yè)務(wù)場(chǎng)景。不同點(diǎn)中方法的參數(shù)為,而接口中方法的參數(shù)為數(shù)組。 spring-boot-starter-parent Maven的用戶(hù)可以通過(guò)繼承spring-boot-starter-parent項(xiàng)目來(lái)獲得一些合理的默認(rèn)配置。這個(gè)parent提供了以下特性: 默認(rèn)使用Java 8 使用UTF-8編碼 一...

    yanest 評(píng)論0 收藏0
  • 吐血整理 20 道 Spring Boot 面試題,我經(jīng)常拿來(lái)面試別人!

    摘要:你如何理解中的可以理解為啟動(dòng)器,它包含了一系列可以集成到應(yīng)用里面的依賴(lài)包,你可以一站式集成及其他技術(shù),而不需要到處找示例代碼和依賴(lài)包。如你想使用訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),只要加入啟動(dòng)器依賴(lài)就能使用了。 面試了一些人,簡(jiǎn)歷上都說(shuō)自己熟悉 Spring Boot, 或者說(shuō)正在學(xué)習(xí) Spring Boot,一問(wèn)他們時(shí),都只停留在簡(jiǎn)單的使用階段,很多東西都不清楚,也讓我對(duì)面試者大失所望。 下面,我給大家總結(jié)...

    haoguo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<