解决方案

Spring Boot 读取properties配置文件时,默认读取的是application.properties。

方法一:@ConfigurationProperties注解方式

@Component 表示将该类标识为Bean

@ConfigurationProperties(prefix = "demo")用于绑定属性,其中prefix表示所绑定的属性的前缀。

@PropertySource(value = "config.properties")表示配置文件路径。

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;/*** @date 2017年6月1日 下午4:34:18 * @version V1.0* @since JDK : 1.7*/
@Component
@ConfigurationProperties(prefix = "com.zyd")
// PropertySource默认取application.properties
// @PropertySource(value = "config.properties")
public class PropertiesConfig {public String type3;public Map<String, String> login = new HashMap<String, String>();public List<String> urls = new ArrayList<>();public String getType3() {return type3;}public String getTitle3() {try {return new String(title3.getBytes("ISO-8859-1"), "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return title3;}public Map<String, String> getLogin() {return login;}public void setLogin(Map<String, String> login) {this.login = login;}public List<String> getUrls() {return urls;}public void setUrls(List<String> urls) {this.urls = urls;}} 

方法二:@Value注解方式

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @date 2017年6月1日 下午3:49:30 * @version V1.0* @since JDK : 1.7*/
@SpringBootApplication
@RestController
public class Applaction {@Value("${com.zyd.type}")private String type;/*** * 第二种方式:使用`@Value("${propertyName}")`注解* */@RequestMapping("/value")public Map<String, Object> value() throws UnsupportedEncodingException {Map<String, Object> map = new HashMap<String, Object>();map.put("type", type);return map;}public static void main(String[] args) throws Exception {SpringApplication application = new SpringApplication(Applaction.class);application.run(args);}
}

注:如果@Value${}所包含的键名在application.properties配置文件中不存在的话,会抛出异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configBeanValue': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'demo.name' in value "${demo.name}"

方法三:Environment

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @date 2017年6月1日 下午3:49:30* @version V1.0* @since JDK : 1.7*/
@SpringBootApplication
@RestController
public class Applaction {@Autowiredprivate Environment env;/*** * 第三种方式:使用`Environment`* */@RequestMapping("/env")public Map<String, Object> env() throws UnsupportedEncodingException {Map<String, Object> map = new HashMap<String, Object>();map.put("type", env.getProperty("com.zyd.type2"));return map;}public static void main(String[] args) throws Exception {SpringApplication application = new SpringApplication(Applaction.class);application.run(args);}
}

方法四:PropertiesLoaderUtils

https://blog.csdn.net/thc1987/article/details/78789426

参考文章

https://blog.csdn.net/thc1987/article/details/78789426

https://blog.csdn.net/dkbnull/article/details/81953190

https://blog.csdn.net/liuchuanhong1/article/details/78106648

Spring Boot——读取.properties配置文件解决方案相关推荐

  1. 如何在spring中读取properties配置文件里面的信息

    如何在spring中读取properties配置文件里面的信息 <!-- 正文开始 --> 一般来说.我们会将一些配置的信息放在.properties文件中. 然后使用${}将配置文件中的 ...

  2. spring中@Value读取.properties配置文件中文乱码问题

    spring中读取.properties文件中文乱码原因是因为springmvc或spring配置文件加载配置文件时没有设定字符集编码问题导致的,其默认是会将.properties配置文件转码为uni ...

  3. Spring @Value:读取Properties配置文件

    非 @Value方式:基于ResourceLoader读取Properties配置文件 以下为通过Spring @Value:读取Properties配置文件 1.1 前提 测试属性文件:advanc ...

  4. Spring加载Properties配置文件,java通过注解读取数据

    1.用法示例: 在springMVC.xml配置文件中添加标签 (推荐用这个,这个用的比较多,也比较简洁) <context:property-placeholder location=&quo ...

  5. Spring Boot中的配置文件使用以及重新加载

    Spring Boot中的配置文件使用以及重新加载 概要 本教程将展示如何通过Java configuration和@PropertySource或XML和property-placeholder在S ...

  6. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式

    java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...

  7. Spring 如何读取properties文件内容

    http://hi.baidu.com/alizv/blog/item/d8cb2af4094662dbf3d38539.html 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置 ...

  8. Java 读取 .properties 配置文件的几种方式

    Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配 ...

  9. Spring Boot读取application.yaml属性

    Spring Boot读取application.yaml属性 一.访问实体属性 1.pom.xml文件里添加snakeyaml依赖 <dependency><groupId> ...

最新文章

  1. “柔”,“软”,“微”,“弱”何以成为互联网时代的时髦词汇
  2. flyway常用配置_Spring Boot 2 实战:使用 Flyway 管理你数据库的版本变更
  3. linux网络编程之socket(十一):套接字I/O超时设置方法和用select实现超时
  4. 关于抢红包的_抢红包系统设计与设计
  5. 【独家】孙茂松:从机器翻译到古诗生成
  6. VideoCLIP-FacebookCMU开源视频文本理解的对比学习预训练,性能SOTA!适用于零样本学习!...
  7. 错误;找不到或无法加载主类 com.sun.tools.javac.main的解决方案
  8. 状态机,从细节出发(一段式、两段式、三段式,moore型、mealy型)
  9. acrobat支持日文粘贴复制
  10. 不能创建对象qmdispatch_关于系统弹出错误:429 , ActiveX 部件不能创建对象 的解决方法...
  11. 快捷键,总结一些实用高效的快捷键
  12. 大屏做成这样,领导不重视你都难!
  13. hadoop hdfs记录踩到的坑
  14. 圆柱体的表面积 C++
  15. webpack 简单使用
  16. 英语读书笔记-Book Lovers Day 03
  17. 练习4-6 猜数字游戏 (15分) 代码比较长,新手上路请多关照
  18. 【Python Sympy】将表达式化为关于x的多项式,求出多项式系数
  19. DSPE-PEG-MMPs; PEG-MMPs-DSPE ;聚乙二醇-基质金属蛋白酶-磷脂 ;磷脂-聚乙二醇-基质金属蛋白酶
  20. html 气泡动画效果,css3实现好看的气泡按钮动画特效

热门文章

  1. 看来美国的霸道不仅仅是针对Lenovo的,SONY也被威胁--索尼被判侵犯专利,PlayStation游戏机销售面临威胁【ZZ】...
  2. python type instance_Python type, types and isinstance()使用
  3. 鸿蒙上海开发者日直播,华为鸿蒙 OS 开发者日于 4月17 日上海举行
  4. oracle10g 创建分区表,oracle10G分区的创建与维护Oracle分区表和本地索引
  5. cpu功耗排行_2020 主流手机处理器排行榜
  6. 使用http连接到microsoft exchange_如何使用 PowerShell 连接 Office 365 服务
  7. 用计算机图形学画字母,r 语言快速出图——单因素方差带字母显著性标记
  8. python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序
  9. 解决修改/etc/sudoers文件后:报 语法错误 near line 23
  10. tpcc mysql下载_TPCC安装和压测数据库数据表创建生成