springboot 配置資源統一管理
在一個springboot的專案中建立一個載入資源的類
LoadPropertiesConfig
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import org.slf4j.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertiesPropertySource;
public class LoadPropertiesConfig implements EnvironmentPostProcessor, Ordered {
private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(LoadPropertiesConfig.class);
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
//此處可以http方式 到配置伺服器拉取一堆公共配置+本專案個性配置的json串,拼到Properties裡
Properties properties = new Properties();
try {
properties.load(
new FileInputStream(new File("D:\\service\\demo-parents\\springboot-app\\application.properties")));
} catch (FileNotFoundException e) {
LOG.error("error message", e);
} catch (IOException e) {
LOG.error("error message", e);
}
MutablePropertySources propertySources = environment.getPropertySources();
//addLast 結合下面的 getOrder() 保證順序 讀者也可以試試其他姿勢的載入順序
propertySources.addLast(new PropertiesPropertySource("thirdEnv", properties));
}
@Override
public int getOrder() {
// +1 保證application.propertie裡的內容能覆蓋掉本配置檔案中預設的
// 如果不想被覆蓋 可以去掉 +1 或者 -1 試試
return Integer.MIN_VALUE;
}
}
這樣就實現了用遠端資源覆蓋本地資源的情況
測試程式碼
@SpringBootApplication
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 類PropertiesCheckController.java的實現描述:驗證自定義配置檔案
*
* @author xupeng 2017年3月16日 下午4:04:24
*/
@RestController
public class PropertiesCheckController {
@Value("${name}")
private String name;
@RequestMapping("/showName")
public String showName() {
return name;
}
}
本地配置檔案
name=ceshi
遠端配置檔案
name=name
用以上程式碼測試,當沒有載入到遠端資源的時候訪問showName
返回的是ceshi當資源被覆蓋之後就會顯示name
相關推薦
springboot 配置資源統一管理
在一個springboot的專案中建立一個載入資源的類 LoadPropertiesConfig import java.io.File; import java.io.FileInputSt
SpringBoot-整合webjars靜態資源統一管理
一、前言 這個東西呢,我第一次接觸的時候就覺得很好玩,他能進行js、css檔案庫進行maven依賴管理,能像一般的jar包一樣進行管理,對於js、css版本的更新一類的會比較好 二、實踐 1. 我們首先要確定要什麼js或css庫,確定後進入webjars官網找到相應的依賴語句
springboot配置shiro許可權管理,網搜搜採集網站許可權控制程式碼
import outshine.shiro.authc.AccountSubjectFactory; import outshine.shiro.filter.AuthenticatedFilter; import outshine.shiro.realm.AccountRealm; import or
SpringCloud配置檔案之將變數寫入配置檔案統一管理
一些可能要修改的屬性值,我們可以寫入配置檔案,通過讀取配置檔案的方式,動態的注入,需要修改的時候,我們只需要修改配置檔案就可以了,避免了對程式碼的修改,方便維護 像這樣: //配置檔案中這麼寫 sms-verify: api-url: XXXXXXXXXXXXXXXX
企業分布式微服務雲SpringCloud SpringBoot mybatis (十六)Spring Boot中使用LDAP來統一管理用戶信息
數據庫表 repo on() intellij attr ads get 可選 mail LDAP簡介 LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系
Android Studio配置統一管理依賴版本號引用
ext net image libs 文章 studio depend run o-c 版權聲明:本文為HaiyuKing原創文章,轉載請註明出處! 前言 本Demo采用的是其中一個方案,其他方案請閱讀參考資料《Android Studio中統一管理版本號引用配置》
Springboot 靜態資源路徑配置的兩種方法
參考學習: http://www.zslin.com/web/article/detail/23 http://blog.csdn.net/catoop/article/details/50501706 訴求:Spring Boot 預設為我們提供了靜態資源處理,而有時我們需要自定義
使用Apollo管理Springboot配置檔案的相關配置
1,引入Maven依賴: <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId>
.NET Core微服務之基於Steeltoe使用Spring Cloud Config統一管理配置
一、關於Spring Cloud Config 在分散式系統中,每一個功能模組都能拆分成一個獨立的服務,一次請求的完成,可能會呼叫很多個服務協調來完成,為了方便服務配置檔案統一管理,更易於部署、維護,所以就需要分散式配置中心元件了,在Spring Cloud中,就有這麼一個分散式配置中心元件 —
springBoot靜態資源配置
#server port server.port=80 #spring security admin=admin password=123456 #MySQL config &zeroD
Spring Cloud Config統一管理服務配置
一、為什麼要統一管理微服務配置 對於傳統的單體應用而言,常使用配置檔案來管理所有配置,比如SpringBoot的application.yml檔案,但是在微服務架構中全部手動修改的話很麻煩而且不易維護。 微服務的配置管理一般有以下需求: 1.集中配置管理,一個微服務架構中可能有成百上千個微服
SpringBoot 靜態資源配置
springboot 靜態資源訪問的順序 (1)在src/main/resources/static資料夾 (2)在src/main/resources/resources資料夾 (3)在s
Lind.DDD.ConfigConstants統一管理系統配置
回到目錄 Lind.DDD.ConfigConstants屬於新新增的元件,用來幫助我們安全的進行配置訊息的管理,我們在開發專案時,有個感覺,你的config配置項會越來越多,越來越難以閱讀,隨著你引用的元件增多,新增更多的配置項也難以避免,而我自己的Lind.DDD框架也是如此,今天加個日誌,明天加個訊息
使用gradle的自定義Property實現Android專案的配置和依賴統一管理
gradle支援自定義property,在GoogleSamples中官方用了Ext(ra) Properties方式來定義了Android的配置檔案和統一的依賴管理,這種方式也稱動態屬性,我們必須使用關鍵字ext(對應ExtraPropertiesExtens
SpringBoot開發詳解(六)-- 異常統一管理以及AOP的使用
AOP在SpringBoot中的使用 使用切面管理異常的原因: 今天的內容乾貨滿滿哦~並且是我自己在平時工作中的一些問題與解決途徑,對實際開發的作用很大,好,閒言少敘,讓我們開始吧~~ 我們先看一張錯誤資訊在APP中的展示圖: 是不是體驗很差
springboot預設的日誌管理工具logback的配置
1.首先建立xxx-spring.xml(必須是以spring結尾)2.logback-spring.xml的內容編輯<?xml version="1.0" encoding="UTF-8"?> <Configuration status="warn">
Android studio gradle 版本統一管理配置
前言 隨著專案的不斷迭代更新,專案變的也越來越大,為了減少編譯時間,開發效率,大多采用模組化,元件化開發,moudle 的個數也會隨著增加,那麼一些依賴或sdk版本升級的時候,每個 moudle 的
springboot配置mybatis和事務的管理
spring boot配置mybatis和事務管理 一、spring boot與mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依賴如下: <!-- Spring Boot 啟動父依賴 --> <parent>
四 建立SpringCloud_config服務專案,統一管理配置檔案
1,建立SpringCloud_config專案 2,匯入依賴pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:
springboot maven資源路徑配置 resource路徑配置, 解決mybatis的xml放在java路徑而沒有放在resource路徑下報錯的問題
我是這樣配置的 <build> <!--resources配置解決mybatis 的mapperXml配置在java路徑不被掃描的問題 --> <resources>