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: ...
随机推荐
- Oracle ADDM报告生成和性能分析
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315 对于局部的,比如某个页面列表sql,我们可以使用Oracle的 ...
- 安装Adobe时出现Adobe Application Manager丢失或损坏解决方法
很多朋友在安装Adobe系列产品时出现Adobe Application Manager丢失或损坏,这是由于上次安装的Adobe产品没有正确卸载,导致这次安装失败.那么如何解决这一问题呢? 1.下载安 ...
- LogcatHelperDemo【应用log信息保存成本地文件】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录下LogcatHelper的使用,并对原有代码进行了修改[因为保存到应用内的目录中不需要申请权限,所以去掉保存到SD的功能- ...
- ES 08 - 创建、查看、修改、删除、关闭Elasticsearch的index
目录 1 创建index(配置mapping[映射]) 2 查看index 3 修改index 4 删除index 5 打开/关闭index 6 常见问题及解决方法 index相当于RDBMS(关系型 ...
- Jenkins集群搭建
Jenkins的目的是加快CI/CD的步伐,集群的搭建也不是必须的,当一台服务器的构建速度受到限制下,可以考虑使用主从并发构建,来加快构建速度.作为一款超级管家的角色,Jenkins的资料非常多,Je ...
- 『集群』006 Slithice 后期改进 和 Slithice可能存在的BUG
Slithice 后期改进 和 Slithice可能存在的BUG Slithice 可能存在的 BUG: >Slithice 暂时 没有 对 循环调度 进行控制:不正确的 配置 可能导致 调度死 ...
- springboot~环境搭建与Helloworld
转了,非转了 只是项目需要,从.net到java,以后可以学习java的思想把它应用到.net上来,让咱们的.net越来越强大,springbool是一个强大的框架,几乎有了你想要的所有功能模块,大叔 ...
- Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别以及高可用原理
为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务 ...
- Django-restframework 之权限源码分析
Django-restframework 之权限源码分析 一 前言 上篇博客分析了 restframework 框架的认证组件的执行了流程并自定义了认证类.这篇博客分析 restframework 的 ...
- Lucene配置步骤详解
Lucene配置步骤说明: 1.搭建环境: 2.创建索引库: 3搜索索引库. Lucene配置步骤: 第一部分:搭建环境(创建环境导入jar包) 前提:已经创建好了数据库(直接导入book.sql文件 ...