1. 程式人生 > >springboot 自定義yml 配置檔案

springboot 自定義yml 配置檔案

springboot 在1.5版本以後,@ConfigurationProperties去除location引數,因此無法直接匯出yml配置檔案,

而properties配置檔案可以通過@PropertySource或者@ImportResource 來直接匯入,因此整理兩種匯入自定義yml檔案

1、使用YamlPropertiesFactoryBean來載入並設定到PropertySourcesPlaceholderConfigurer中

程式碼:

	@Bean
	public PropertySourcesPlaceholderConfigurer yaml() {
		PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
		YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
		yaml.setResources(new ClassPathResource("myconfig.yml"));
		configurer.setProperties(yaml.getObject());
		return configurer;
	}

2、使用@PropertySource,自定義factory

程式碼:

import java.io.IOException;

import org.springframework.boot.env.PropertySourcesLoader;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.io.support.PropertySourceFactory;

public class YamlPropertySourceFactory implements PropertySourceFactory {

	@Override
	public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {
		 return name != null ? new PropertySourcesLoader().load(resource.getResource(), name, null) : new PropertySourcesLoader().load(  
	                resource.getResource(), getNameForResource(resource.getResource()), null); 
	}
	
	private static String getNameForResource(Resource resource) {  
        String name = resource.getDescription();  
        if (!org.springframework.util.StringUtils.hasText(name)) {
            name = resource.getClass().getSimpleName() + "@" + System.identityHashCode(resource);  
        }  
        return name;  
    }  
}

相關推薦

springboot 定義yml 配置檔案

springboot 在1.5版本以後,@ConfigurationProperties去除location引數,因此無法直接匯出yml配置檔案,而properties配置檔案可以通過@PropertySource或者@ImportResource 來直接匯入,因此整理兩種匯

定義xml配置檔案讀取更新

說明:webconfig的檔案中的值的更新會引起網站重啟,網站重啟記憶體揮手,session等資訊會丟失,所以下面這些場景我們需要自定義配置檔案。          1,網站執行中,我們需要更新配置檔案來關閉某些功能,不能造成使用者cookie等

定義讀取配置檔案

#include<iostream> #include<string.h> #include<vector> #include<map> #include<set> #include <fstream> #include<

web工程讀取定義xml配置檔案的方法

       以前都是在c++中我都是習慣用ini配置檔案,接觸webx框架後,一般都是用得配置好的xml檔案,偷懶結果就是把自己給坑了。在需要自定義配置檔案的之後踩到了坑,特此記錄下。         此處我想讀取

SpringBoot定義YAML配置

在開發SpringBoot應用程式中,可以使用yaml檔案來配置各種屬性及引數,並可以直接對映到Java類的屬性當中。 比如,我有一個Java類 UserProperties.java package cn.buddie.test.yaml; import org.springframework.b

【Highchart】定義儀表盤配置檔案,儀表盤分段及漸變色

highchart配置出儀表盤 chart: { type: 'gauge', plotBackgroundColor: null, plotBackgroundImage: null, plotBorderWi

SpringBoot——定義日誌配置

一、SpringBoo的t預設配置     SpringBoot在其包下有日誌框架相關的配置檔案,含logback、log4j2等,這也是為什麼SpringBoot可以直接使用這些日誌框架的原因: 二、自定義日誌框架配置檔案     有時我們為了開啟日誌框架的高階功

springboot引入外部yml配置檔案

當需要在springboot中引用其他的yml檔案時,需要在application.yml裡配置spring: profiles: include: email,xmyb值得注意

Spring-boot中讀取核心配置檔案application和定義properties配置檔案的方式

前言:瞭解過spring-Boot這個技術的,應該知道Spring-Boot的核心配置檔案application.properties,當然也可以通過註解自定義配置檔案**.properties的資

35.再談SpringBoot定義日誌配置--LogBack.xml

在實際專案開發中我們可能自定義日誌配置檔案。 以下為自定義LogBack配置。 application.properties logging.config=classpath:logback-spring.xml logback-spring.xml 以下配置日誌具有日

定義Log4j配置檔案位置

預設設定:Log4j配置檔案放在src下則可以被log4j.jar讀取到。 如果想要把log4j.properties檔案遷移到專案的其他位置,則可以做如下配置: <!-- 設定由Spring載入的Log4j配置檔案位置 --><context-para

MyEclipse整合PMD程式碼檢測外掛定義規則配置檔案

把我今天最新更新的MyEclipse2014整合PMD程式碼檢測外掛自定義規則配置檔案JAVA版釋出出來吧,方便自己以後回顧的同時,也看看能不能幫到有這方面需求的小夥伴們。 檔名:cplatform_pmd5.2.3_rules.xml <?xml version=

Unity3D定義資源配置檔案

配置資原始檔估計大家瞭解很多,比如XML、JSON、Protobuf、Excel、TXT等等在開發過程中,將遊戲資料序列化到配置檔案中,專案執行時讀取配置檔案中的資料本文另外介紹一個Unity的配置檔案(.asset)該配置檔案的優點:當我們需要將遊戲資源裡的貼圖(Textu

SpringBoot定義屬性配置讀取

概述: SpringBoot讀取配置檔案,將配置檔案內容注入到Entity或者配置欄位中。 將配置檔案注入到Entity中 1.在application.yml中自定義配置如下屬性,girl,cupsize,age,content:注意content的內容可以使用

最簡單的SpringBoot示例之.yml配置檔案

1.上一次我們已經使用SpringBoot實現了一個簡單的HelloWord程式,辣麼接下來我們簡單的使用一下他的yml格式的配置檔案。 2.在 resources 目錄下建立一個 application.yml檔案(如下),配置資訊包括伺服器資訊和一個我們自定

定義log4j2配置檔案地址

預設情況下,只要把log4j配置檔案放在 CLASSPATH 環境變數所指定的目錄, JAVA 啟動時會制動載入。實際專案中經常需要把配置檔案與打包分離,方便修改,所以需要自定義配置檔案載入地址。 SpringMvc 採用spring mvc框架時需要一

Unity3d進階學習(8)-- 定義資源配置檔案、序列化

一、資源配置檔案、序列化的介紹 資源配置檔案:在遊戲開發中,經常會用到一些配置檔案儲存一些資料,然後專案執行中讀取這些配置檔案中的資料在遊戲中使用。比如 XML、JSON、Protobuf、Excel

springboot 使用yml配置檔案定義屬性

springboot 中在application.yml檔案裡自定義屬性值,配合@Value註解可以在程式碼中直接取到相應的值,如在application.yml中新增 mqtt: serverURI: tcp:/

SpringBoot定義配置檔案(xxx.properties)

轉載 :https://www.cnblogs.com/V1haoge/p/7183408.htmlSpringBoot中免除了大部分手動配置,但是對於一些特定的情況,還是需要我們進行手動配置的,SpringBoot為我們提供了application.properties配置檔案,讓我們可以進行自定義配置,來

SpringBoot定義配置檔案讀取

SpringBoot自定義配置檔案有兩種讀取方式 如在配置檔案中自定義如下配置 @Value註解讀取自定義配置檔案——用於逐個讀取自定義的配置 新建一個controller類如下: @Controller public class ConfigInfoControll