博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot读取配置文件的方式
阅读量:5044 次
发布时间:2019-06-12

本文共 3058 字,大约阅读时间需要 10 分钟。

前三种测试配置文件为springboot默认的application.properties文件。

一、@ConfigurationProperties方式

自定义配置文件

 

自定义配置类:PropertiesConfig.java,加载自定义配置文件实体类并生成set和get方法

注入自定义实体类,用get方法获取数据 

 

二、使用@Value注解方式

 

三、使用Environment

注入Environment 使用getProperty获取数据 

 

四、使用PropertiesLoaderUtils

app-config.properties

 

[html]  
 
  1. #### 通过注册监听器(`Listeners`) + `PropertiesLoaderUtils`的方式   
  2. com.battle.type=Springboot - Listeners   
  3. com.battle.title=使用Listeners + PropertiesLoaderUtils获取配置文件   
  4. com.battle.name=zyd   
  5. com.battle.address=Beijing   
  6. com.battle.company=in  

PropertiesListener.java 用来初始化加载配置文件

[java]  
 
  1. import org.springframework.boot.context.event.ApplicationStartedEvent;  
  2. import org.springframework.context.ApplicationListener;  
  3. import com.zyd.property.config.PropertiesListenerConfig;  
  4. public class PropertiesListener implements ApplicationListener<ApplicationStartedEvent> {  
  5.     private String propertyFileName;  
  6.     public PropertiesListener(String propertyFileName) {  
  7.         this.propertyFileName = propertyFileName;  
  8.     }  
  9.     @Override public void onApplicationEvent(ApplicationStartedEvent event) {  
  10.         PropertiesListenerConfig.loadAllProperties(propertyFileName);  
  11.     }  
  12. }  

PropertiesListenerConfig.java 加载配置文件内容

[java]  
 
  1. import org.springframework.boot.context.event.ApplicationStartedEvent;  
  2. import org.springframework.context.ApplicationListener;  
  3. import com.zyd.property.config.PropertiesListenerConfig;  
  4. public class PropertiesListener implements ApplicationListener<ApplicationStartedEvent> {  
  5.     private String propertyFileName;  
  6.     public PropertiesListener(String propertyFileName) {  
  7.         this.propertyFileName = propertyFileName;  
  8.     }  
  9.     @Override public void onApplicationEvent(ApplicationStartedEvent event) {  
  10.         PropertiesListenerConfig.loadAllProperties(propertyFileName);  
  11.     }  
  12. }  

Applaction.java 启动类

[java]  
 
  1. import java.io.UnsupportedEncodingException;  
  2. import java.util.HashMap;  
  3. import java.util.Map;  
  4. import org.springframework.boot.SpringApplication;  
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;  
  6. import org.springframework.web.bind.annotation.RequestMapping;  
  7. import org.springframework.web.bind.annotation.RestController;  
  8. import com.zyd.property.config.PropertiesListenerConfig;  
  9. import com.zyd.property.listener.PropertiesListener;  
  10.   
  11. @SpringBootApplication @RestController public class Applaction {  
  12.     /** * * 第四种方式:通过注册监听器(`Listeners`) + `PropertiesLoaderUtils`的方式 * * @author zyd * @throws UnsupportedEncodingException * @since JDK 1.7 */  
  13.     @RequestMapping("/listener") public Map<String, Object> listener() {  
  14.         Map<String, Object> map = new HashMap<String, Object>();  
  15.         map.putAll(PropertiesListenerConfig.getAllProperty());  
  16.         return map;  
  17.     }  
  18.     public static void main(String[] args) throws Exception {  
  19.         SpringApplication application = new SpringApplication(Applaction.class);  
  20.         // 第四种方式:注册监听器 application.addListeners(new PropertiesListener("app-config.properties")); application.run(args); } }  

访问结果:

[java]  
 
      1. {
        "com.battle.name":"zyd",  
      2. "com.battle.address":"Beijing",  
      3. "com.battle.title":"使用Listeners + PropertiesLoaderUtils获取配置文件",  
      4. "com.battle.type":"Springboot - Listeners",  
      5. "com.battle.company":"in"}

转载于:https://www.cnblogs.com/wzb0228/p/10489545.html

你可能感兴趣的文章
Ruby入门——哈希表
查看>>
noip2016 天天爱跑步
查看>>
[NOI2012]随机数生成器
查看>>
Ubuntu Linux IP configuration
查看>>
Java 变参函数的实现
查看>>
day12_框架一tools.py代码
查看>>
死磕 java同步系列之Semaphore源码解析
查看>>
好代码是什么样的?
查看>>
网页登入验证码的实现(java&html)
查看>>
sed -i 命令替换字符串时,软链接被破坏
查看>>
Python奇技
查看>>
算法-求两个有序数组两两相加的值最小的K个数
查看>>
net.sf.json 迄今 时刻 格式 办法
查看>>
奇怪++操作
查看>>
Oracle建立表空间和用户
查看>>
开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
查看>>
逃生_拓扑排序
查看>>
Java 中带参带返回值方法的使用
查看>>
JSON.Net 的使用
查看>>
wxWidgets 安装方法(Windows 8.1 + Visual Studio 2013)
查看>>