02Spring Boot配置文件详解
02Spring Boot配置文件详解
自定义属性
- 在src/main/java/resources目录下创建一个application.properties或application.yml
- 在application.yml自定义一组属性
my:
name: boot
age: 12
- 读取配置文件的值只需要加@Value("${属性名}")
@RestController
public class ConfigController {
@Value("${my.name}")
private String name;
@Value("${my.age}")
private int age;
@RequestMapping(value = "/config")
public String config(){
return name+":"+age;
}
}
- 启动项目,访问:localhost:8080/config
将配置文件的属性赋给实体类
- 当配置中有很多属性时,可以把这些属性作为字段创建javabean,并将属性值赋予给他们
my:
name: boot
age: 20
# ${random} ,用来生成各种不同类型的随机值。
number: ${random.int}
uuid: ${random.uuid}
max: ${random.int(10)}
value: ${random.value}
greeting: hi,i'm ${my.name}
- 创建一个javabean,并添加注解@ConfigurationProperties(prefix = "my")
@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...省略
使用idea自动生成get,set和toString
}
- 在应用类或启动类上增加注解
@EnableConfigurationProperties({ ConfigBean.class })
- 添加ConfigBeanController类
@RestController
public class ConfigBeanController {
@Autowired
private ConfigBean configBean;
@RequestMapping("/configbean")
public String config(){
// 输出所有字段的值
return configBean.toString();
}
}
- 启动项目,访问http://localhost:8080/configbean
自定义配置文件
- application配置文件是系统默认的,我们可以添加其他名称的配置文件,如test.properties(不能是test.yml,测试读不到数据)
com.boot.name=boot
com.boot.age=20
- 添加TestBean,需要指定文件名和前缀
@Configuration
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "com.boot")
public class TestBean {
private String name;
private int age;
省略get,set,tostring
}
- 添加TestBeanController
@EnableConfigurationProperties({TestBean.class})
@RestController
public class TestBeanController {
@Autowired
private TestBean testBean;
@RequestMapping("/testconfig")
public String testConfig() {
return testBean.toString();
}
}
- 启动项目,返回http://localhost:8080/testconfig
多个环境配置文件
- 在现实的开发环境中,我们需要不同的配置环境;格式为application-{profile}.properties,其中{profile}对应你的环境标识,比如
- application-test.properties:测试环境
- application-dev.properties:开发环境
- application-prod.properties:生产环境
- 实际使用的配置文件,通过在application.yml中增加:
spring:
profiles:
active: dev
- 添加application-dev.yml
my:
name: dev
age: 11
#server:
# port: 8082
- 启动程序,访问http://localhost:8080/config,发现读取的是application-dev.yml中的配置
- 访问http://localhost:8080/configbean,会发现,当application-dev.yml和application.yml中有重名的字段时,前者会覆盖后者的值。
ConfigBean{name='dev', age=11, number=-1422131996, uuid='5bebc511-f1a4-4f2b-95ed-540e4b48e8bd', max=0, value='8b96a5bbde492fb189e4fa52573c9caf', greeting='hi,i'm dev'}
02Spring Boot配置文件详解的更多相关文章
- Spring Boot 配置文件详解
Spring Boot配置文件详解 Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们的作用都是修改Spring Boot自动配置的默认值.相对于prop ...
- (转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...
- SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot2-config-file/ 本文出自方志朋的博客 ...
- Spring Boot配置文件详解-ConfigurationProperties和Value优缺点-(转)好文
文章转自 http://www.cnblogs.com/itdragon/p/8686554.html Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们 ...
- 史上最全的Spring Boot配置文件详解
Spring Boot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍.Spring Boot配置文件对Spring Boot来说就是入门和基础,经常会用到,所以写下做个总结以便日 ...
- Spring boot 配置文件详解 (properties 和yml )
从其他框架来看 我们都有自己的配置文件, hibernate有hbm,mybatis 有properties, 同样, Spring boot 也有全局配置文件. Springboot使用一个全局的配 ...
- Spring boot 入门二:Spring Boot配置文件详解
一.自定义属性 当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties.同时也支持ym ...
- Spring Boot☞ 配置文件详解:自定义属性、随机数、多环境配置等
自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: application-dev.yml com.didispace.blog: ...
- Spring Boot配置文件详解:自定义属性、随机数、多环境配置
自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: application-dev.yml com.didispace.blog: ...
随机推荐
- Linux 进程终止后自动重启
/opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then ...
- python接口自动化(十一)--发送post【data】(详解)
简介 前面登录博客园的是传 json 参数,由于其登录机制的改变没办法演示,然而在工作中有些登录不是传 json 的,如 jenkins 的登录,这里小编就以jenkins 登录为案例,传 data ...
- 【重学计算机】计组D3章:运算方法与运算器
1. 定点数运算及溢出 定点数加减法:减法化加法,用补码直接相加,忽略进位 溢出:运算结果超出了某种数据类型的表示范围 溢出检测方法:统一思想概括为正正得负或负负得正则溢出,正负或负正不可能溢出 方法 ...
- JavaScript夯实基础系列(五):类
JavaScript中没有类,是通过使用构造函数和原型模式的组合来实现类似其它面向对象编程语言中"类"的功能.ES6引入的关键字class,形式上向其它面向对象编程语言靠拢,其 ...
- Abp中使用可视化的日志面板
Abp中使用可视化的日志面板 如果你还不了解LogDashboard请看这里. ABP的相关知识不做介绍如果有需要请阅读ABP官方文档 ABP是Net下非常优秀的开发框架,在中国很多的项目都正在使用它 ...
- mysql 设置自增主键id的起始值
修改user表,主键自增从20000开始 alter table user AUTO_INCREMENT=20000;
- JavaScript 是如何工作的:JavaScript 的共享传递和按值传递
摘要: 原始数据类型和引用数据类型的副本作为参数传递给函数. 原文:JavaScript 是如何工作的:JavaScript 的共享传递和按值传递 作者:前端小智 Fundebug经授权转载,版权归原 ...
- python中的zip()函数和map()函数
一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...
- loj#6073. 「2017 山东一轮集训 Day5」距离(树链剖分 主席树)
题意 题目链接 Sol 首先对询问差分一下,我们就只需要统计\(u, v, lca(u, v), fa[lca(u, v)]\)到根的路径的贡献. 再把每个点与\(k\)的lca的距离差分一下,则只需 ...
- wxpython 支持python语法高亮的自定义文本框控件的代码
在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keywordimp ...