Springboot-读取核心配置文件及自定义配置文件
读取核心配置文件
核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。
核心配置文件application.properties内容如下:
server.port=9090
test.msg=Hello World Springboot!
使用
@Value方式(常用)
@RestController
public class WebController { @Value("${test.msg}")
private String msg; @RequestMapping(value = "index", method = RequestMethod.GET)
public String index() {
return "The Way 1 : " +msg;
}
}
注意:在@Value的${}中包含的是核心配置文件中的键名。在Controller类上加@RestController表示将此类中的所有视图都以JSON方式显示,类似于在视图方法上加@ResponseBody。
访问:http://localhost:9090/index 时将得到The Way 1 : Hello World Springboot!
使用
Environment方式
@RestController
public class WebController { @Autowired
private Environment env; @RequestMapping(value = "index2", method = RequestMethod.GET)
public String index2() { return "The Way 2 : " + env.getProperty("test.msg");
}
}
注意:这种方式是依赖注入Evnironment来完成,在创建的成员变量private Environment env上加上@Autowired注解即可完成依赖注入,然后使用env.getProperty("键名")即可读取出对应的值。
访问:http://localhost:9090/index2 时将得到The Way 2 : Hello World Springboot!
读取自定义配置文件
通过
@ConfigurationProperties注解,通过getter、setter方法注入及获取配置
为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,这里在resources/config目录下创建配置文件my-web.properties
resources/config/my-web.properties内容如下:
web.name=isea533
web.jdbc.username=root
web.jdbc.password=root
创建管理配置的实体类:
@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web")
@Component
public class MyWebConfig{
private String name;
private Jdbc jdbc;
class Jdbc {
private String username;
private String password;
//getter...
} public Integer gePort(){
return this.port;
}
public Jdbc getJdbc() {
return this.jdbc;
}
}
注意:
在
@ConfigurationProperties注释中有两个属性:locations:指定配置文件的所在位置prefix:指定配置文件中键名称的前缀(我这里配置文件中所有键名都是以web.开头)
使用
@Component是让该类能够在其他地方被依赖使用,即使用@Autowired注释来创建实例。
通过
@PropertySource注解,然后使用@Value逐个注入配置
@Configuration
@PropertySource("classpath:test.properties")
public class ELConfig { @Value("${book.name}")
private String bookName; //PropertySourcesPlaceholderConfigurer这个bean,这个bean主要用于解决@value中使用的${…}占位符。假如你不使用${…}占位符的话,可以不使用这个bean。
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigure() {
return new PropertySourcesPlaceholderConfigurer();
} public void outputSource() {
System.out.println(bookName);
}
}
Springboot-读取核心配置文件及自定义配置文件的更多相关文章
- Springboot读取配置文件及自定义配置文件
1.创建maven工程,在pom文件中添加依赖 <parent> <groupId>org.springframework.boot</groupId> <a ...
- springboot读取application.properties中自定义配置
假设在application-xxx.properties中配置 user.name=yuhk 一.在Controller中读取 @Value("{$user.name}") pr ...
- Springboot 之 自定义配置文件及读取配置文件
本文章来自[知识林] 读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两 ...
- Springboot 之 自定义配置文件及读取配置文件注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以(下划线的坑,坑了我两天..特此纪念)
注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以 错误的.不能读取的例子: mySet .ABAP_AS_POOLED = ABAP_AS_WITH_P ...
- Springboot读取自定义配置文件的几种方法
一.读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. ...
- springboot读取自定义配置文件节点
今天和大家分享的是自定义配置信息的读取:近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需 ...
- SpringBoot读取自定义配置文件
自定义配置文件 my-config.properties bfxy.title=bfxy bfxy.name=hello spring boot! bfxy.attr=12345 配置文件类 appc ...
- springboot读取自定义properties配置文件方法
1. 添加pom.xml依赖 <!-- springboot configuration依赖 --> <dependency> <groupId>org.sprin ...
- springboot下自定义配置文件,并在项目里读取的方法
首先 pom文件引入springboot文件处理器 <dependency> <groupId>org.springframework.boot</groupId> ...
随机推荐
- POJ2739(尺取法)
Sum of Consecutive Prime Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 23931 ...
- HBase之八--(2):HBase二级索引之Phoenix
1. 介绍 Phoenix 是 Salesforce.com 开源的一个 Java 中间件,可以让开发者在Apache HBase 上执行 SQL 查询.Phoenix完全使用Java编写,代码位于 ...
- python(ValueError: invalid literal for int() with base 10: 'abc' ‘1.0‘’’)强制类型转换
int()函数只能转化数字组成的字符串,看例子: >>> a=' >>> int(a) 123 >>> b='abc' >>> ...
- POJ 2566 Bound Found(尺取法,前缀和)
Bound Found Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5207 Accepted: 1667 Spe ...
- 使用SLF4J和LOGBACK (一 : 基本使用)
1.SLF4J是什么? slf4j是一个日志门面,它不是具体的日志实现框架,而是提供了通用的日志接口,按个人理解来说,是通过接口实现多态,来满足应用在不同日志框架间切换的需求. 例如在程序中我们需要记 ...
- 【学步者日记】UnityEditor扩展菜单以及ScriptableObject
完整版链接:http://note.youdao.com/noteshare?id=c54f35ca19371886e6a94302387bb6cd 下面是预览的部分,带图的版本请看上面链接. ...
- SQL Server 2008系统信息查询常用命令 查看表大小、记录数等
1.返回所有数据库信息(数据库名,创建日期,存储路径等). use master; GO select * from dbo.sysdatabases 2.返回当前数据库所有对象(可根据type字 ...
- 堆、栈、free
转自:http://codeup.org/archives/212 http://bbs.bccn.net/thread-82212-1-1.html http://www.cppblog.com/o ...
- ascii码与二进制码有何区别?
ascii编码和二进制码是两个概念.ASCII主要是为了电脑显示和传输拉丁字母而发明的一套编码,二进制则是为了计算机方便计算.传输数据而使用的一种方法.ASCII(American Standard ...
- 证件照制作:使用PS打印一寸照片
1. 打开文件,文件-打开-选择要操作的图片: 2. 修改图片尺寸,图像-图像大小,弹出对话框后,设置 宽度:2.5cm,高度:3.5cm,分辨率:300 像素/英寸: 3. 为要打印的照片设置白边, ...