Spring boot 入门二:Spring Boot配置文件详解
一、自定义属性
当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties。同时也支持yml格式,可以将application.properties 改成
application.yml.以下以yml格式作为配置文件格式
my:
name: yida
age: 18
在java文件中读取配置文件的值只需要加@Value(“${属性名}”)
@RestController
public class HelloController {
@Value("${my.name}")
private String name;
@Value("${my.age}")
private int age;
@RequestMapping("/testProperties")
public String testProperties() {
return "my name is " + name + " my age is " + age;
}
}
启动spring boot 在浏览器输入 http://localhost:8082/testProperties ,浏览器显示
my name is yida my age is 18
二、将配置文件的属性赋给实体类
当我们有很多配置属性的时候,这时我们会把这些属性作为字段来创建一个javabean,并将属性值赋予给他们,比如:
my:
name: yida
age: 18
number: ${random.int}
uuid : ${random.uuid}
max: ${random.int(10)}
value: ${random.value}
greeting: hi,i'm ${my.name}
创建一个java bean:
@Component
@ConfigurationProperties(prefix = "my")
public class ConfigBean {
private String name;
private int age;
private int number;
private String uuid;
private int max;
private String value;
private String greeting;
//提供 get set 方法 ,这里就不贴出来了
}
通过注解@ConfigurationProperties(prefix = "my") 将配置文件(这里是默认的配置文件application.properties 或 application.yml,后续会讲如何指定配置文件)绑定到java bean
写一个应用类测试一下
@RestController
public class HelloController {
@Autowired
private ConfigBean configBean;
@RequestMapping("/testConfigBean")
public String testConfigBean() {
return configBean.getGreeting() + " >>>>" + configBean.getName() + " >>>>" + configBean.getUuid() + " >>>>" + configBean.getMax();
}
}
启动spring boot 在浏览器输入 http://localhost:8082/testConfigBean 浏览器显示
hi,i'm yida >>>>yida >>>>4845e8a3-8b75-43a2-9029-b916674f0b94 >>>>9
三、自定义配置文件
上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:
org.pangu.name=yida
org.pangu.age=18
将属性值赋给java bean
@Component
@ConfigurationProperties(prefix = "org.pangu")
@PropertySource(value = "classpath:test.properties")
public class User {
private String name;
private int age;
}
通过注解指定配置文件@PropertySource(value = "classpath:test.properties")
写一个应用类测试一下
@RestController
public class HelloController {
@Autowired
private User user;
@RequestMapping("/testUser")
public String testUser() {
return user.getName() + ">>>" + user.getAge();
}
}
在浏览器输入 http://localhost:8082/testUser 浏览器显示
yida>>>18
四、多个环境配置文件
在现实的开发环境中,我们需要不同的配置环境;格式为application-{profile}.properties,其中{profile}对应你的环境标识,比如:
application-test.properties:测试环境
application-dev.properties:开发环境
application-prod.properties:生产环境
如何使配置文件生效,只需要我们在application.yml中加:
spring:
profiles:
active: prod
并且在application-prod.properties 中添加配置
server.port=8082
则端口就由原来默认的8080端口变为8082
启动spring boot 输入http://localhost:8080 和http://localhost:8082进行验证
Spring boot 入门二:Spring Boot配置文件详解的更多相关文章
- (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)
LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...
- Spring Boot2 系列教程 (五) | yaml 配置文件详解
自定义属性加载 首先构建 SpringBoot 项目,不会的看这篇旧文 使用 IDEA 构建 Spring Boot 工程. 首先在项目根目录 src >> resource >&g ...
- struts2(二)之配置文件详解与结果视图
前言 前面介绍了struts2的一个程序的大概流程,还有它的配置文件. 一.struts.xml文件元素详解 1.1.package元素 1)作用 在struts2的配置文件中引入了面向对象思想,使用 ...
- Spring Boot入门(二):获取配置文件值
本篇博客主要讲解下在Spring Boot中如何获取配置文件的值. 1. 使用yaml配置文件 Spring Boot默认生成的配置文件为application.properties,不过它也支持ya ...
- Spring Boot系列教程四:配置文件详解properties
一.配置随机数,使用随机数 在application.properties文件添加配置信息 #32位随机数 woniu.secret=${random.value} #随机整数 woniu.numbe ...
- Mybatis学习(二)————— 全局配置文件详解
一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.properties 作用:引用java属性文件中的配置信息,比如,加载连 ...
- FastDFS分布式文件系统配置文件详解
一.tracker配置文件详解: # is this config file disabled# false for enabled# true for disableddisabled=false# ...
- Tomcat的配置文件详解
Tomcat的配置文件详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Tomcat的配置文件 Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中, ...
- apache配置文件详解与优化
apache配置文件详解与优化 一.总结 一句话总结:结合apache配置文件中的英文说明和配置详解一起看 1.apache模块配置用的什么标签? IfModule 例如: <IfModule ...
随机推荐
- react.js学习之路二
看react.js对我来说真的不是难不难的问题,问题是我的思路太难转变了,真是坑死我了,react里面的坑也很多.算了,这些抱怨没啥用,记录一下今天学习的内容. 今天看了to-do-list经典示例 ...
- bonjour browser 下载
在Mac 上叫 Bonjour Browser http://www.macupdate.com/app/mac/13388/bonjour-browser/download IOS 上的 app 叫 ...
- MySQL(外键变种)
day58 外键的变种 a. 用户表和部门表 用户: 不唯一 1 alex ...
- Flask从入门到精通之Flask表单
Flask请求对象包含客户端发出的所有请求信息.其中,request.form 能获取POST 请求中提交的表单数据.尽管Flask 的请求对象提供的信息足够用于处理Web 表单,但有些任务很单调,而 ...
- WPF一步步开发XMPP IM客户端2:主窗体设计
UI设计方案: 在设计窗体UI之前,先要了解一些主要的接口和帮助类: 对于主窗的左侧列表,容器内的Item必须实现ILeftItem的接口,比如联系人.系统消息.群等,接口包含点击事件 public ...
- iOS-UIScrollView内容复用【实现两个试图的复用】
前言 这里说的内容复用,是指添加到 ScrollView 里面的试图是同一个模型:比如,我需要在 ScrollView 上添加100个 xkView(其他封装好的VC.UIView),每次滑动 Scr ...
- POJ 1118
#include<iostream> #include<set> #include<stdio.h> #include<math.h> #include ...
- ★ phpStudy安装SSL证书实现https链接
[准备] (1)phpstudy下载:http://phpstudy.php.cn/ (2)phpstudy集成环境下正常运行的网站 (3)避免意外请先备份(复制)好httpd.conf配置文件 ...
- Opserver 初探一《Opserver的搭建》
Opserver 是Stack Overflow的开源监控产品.stackoverflow网站是基于asp.net开发的,具体采用的软硬件配置可以查看<StackOverflow 这么大,究竟用 ...
- linux中的tar命令的使用
参考网址: https://www.cnblogs.com/newcaoguo/p/5896975.html https://www.cnblogs.com/xccjmpc/p/6035397.htm ...