import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.io.IOException; import java.io.InputStream; import java.util.Properties; @Service public class PropLoad { private static final Logger logger = LoggerFactory.getLogger(PropLoad.class); private static PropLoad instance = new PropLoad(); private Properties props = new Properties(); private PropLoad() { } public static synchronized String getProp(String key) { return instance.props.getProperty(key); } public static synchronized String getProp(String key, String defaultValue) { return instance.props.getProperty(key, defaultValue); } @PostConstruct public static void enter() { logger.debug("PropLoad init ..."); instance.init(); logger.debug("PropLoad init finish."); } private void init() { String path = "prop.properties"; //InputStream in = ClassLoader.getSystemResourceAsStream(path); //為了解決在idea外,無(wú)法訪問(wèn)資源目錄的問(wèn)題 InputStream in = this.getClass().getClassLoader().getResourceAsStream(path); if (in == null){ logger.error("file path error,please check"); } try { props.load(in); } catch (IOException e) { logger.error("load prop.properties error {}",e.getMessage()); }finally { try { in.close(); } catch (IOException e) { logger.error("InputStream close error"); } } } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/72143.html
摘要:如何實(shí)現(xiàn)這樣一個(gè)配置加載機(jī)制,讓我們擁有這個(gè)機(jī)制后,不會(huì)讓加載配置的代碼散布得到處都是,并且可擴(kuò)展,可管理。尾聲本文提出的配置加載機(jī)制,并不能夠?qū)嶋H幫忙加載配置,這事應(yīng)該留給,,以及其他一些開源庫(kù)如,去做。 前言 現(xiàn)如今幾乎大多數(shù)Java應(yīng)用,例如我們耳熟能詳?shù)膖omcat, struts2, netty...等等數(shù)都數(shù)不過(guò)來(lái)的軟件,要滿足通用性,都會(huì)提供配置文件供使用者定制功能。 甚...
摘要:前言我們知道在使用時(shí),我們需要通過(guò)去創(chuàng)建實(shí)例,譬如為的配置文件那么我們看下方法的具體實(shí)現(xiàn)創(chuàng)建實(shí)例并執(zhí)行解析主要通過(guò)執(zhí)行對(duì)配置文件的解析,具體實(shí)現(xiàn)如下文配置文件解析解析標(biāo)簽解析標(biāo)簽解析別名標(biāo)簽解析插件標(biāo)簽解析標(biāo)簽解析標(biāo)簽解析標(biāo)簽從的方法實(shí)現(xiàn)我 前言 我們知道在使用 Mybatis 時(shí),我們需要通過(guò) SqlSessionFactoryBuild 去創(chuàng)建 SqlSessionFactory ...
摘要:觸發(fā)器文件可以手動(dòng)更新,也可以使用插件進(jìn)行更新。例如,要配置重新啟動(dòng)以始終使用觸發(fā)器文件,你需要添加以下屬性遠(yuǎn)程應(yīng)用程序開發(fā)工具并不局限于本地開發(fā),在遠(yuǎn)程運(yùn)行應(yīng)用程序時(shí),還可以使用幾個(gè)特性。 20. 開發(fā)者工具 Spring Boot包括一組額外的工具,這些工具可以使應(yīng)用程序開發(fā)體驗(yàn)變得更加愉快,spring-boot-devtools模塊可以包含在任何項(xiàng)目中,以提供額外的develo...
摘要:常規(guī)的配置讓開發(fā)人員將更多的經(jīng)歷耗費(fèi)在了配置文件上。其中有三個(gè)注解,,。以前我們需要配置的東西,幫我們自動(dòng)配置,告訴開啟自動(dòng)配置功能,這樣自動(dòng)配置才能生效。 為什么需要自動(dòng)化配置 ??在常規(guī)的spring應(yīng)用程序中,充斥著大量的配置文件,我們需要手動(dòng)去配置這些文件,如配置組件掃描、視圖解析器、http編碼等等。常規(guī)的配置讓開發(fā)人員將更多的經(jīng)歷耗費(fèi)在了配置文件上。而這些配置都是一些固定模...
摘要:常規(guī)的配置讓開發(fā)人員將更多的經(jīng)歷耗費(fèi)在了配置文件上。其中有三個(gè)注解,,。以前我們需要配置的東西,幫我們自動(dòng)配置,告訴開啟自動(dòng)配置功能,這樣自動(dòng)配置才能生效。 為什么需要自動(dòng)化配置 ??在常規(guī)的spring應(yīng)用程序中,充斥著大量的配置文件,我們需要手動(dòng)去配置這些文件,如配置組件掃描、視圖解析器、http編碼等等。常規(guī)的配置讓開發(fā)人員將更多的經(jīng)歷耗費(fèi)在了配置文件上。而這些配置都是一些固定模...
閱讀 991·2021-11-23 09:51
閱讀 3479·2021-11-22 12:04
閱讀 2723·2021-11-11 16:55
閱讀 2942·2019-08-30 15:55
閱讀 3233·2019-08-29 14:22
閱讀 3358·2019-08-28 18:06
閱讀 1247·2019-08-26 18:36
閱讀 2132·2019-08-26 12:08