SpringBoot(三):配置文件介绍
2018-01-15 20:51
507 查看
全局配置文件
SpringBoot使用一个全局的配置文件application.properties(application.yml),该文件放在resources目录下或者类路径下的/config下,一般我们放到resources目录下。我们可以在全局配置文件中配置任意我们需要的东西,以application.properties为例:server.port=8081 #端口号 server.context-path=/demo //访问路径 server.server-path=*.action
更多的配置信息请参考官方的文档:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
我们也可以在全局的application.properties中定义自己的变量,然后通过@Value注解方便地获取到配置项的值
testValue=liudalei
自定义配置文件
为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息。我们以一个简单的string.properties文件举例:在resources/config目录下创建配置文件string.properties,然后在SpringBoot启动类上添加@PropertySource并指定我们自定义文件的位置,如下:
@SpringBootApplication @PropertySource(value = { "classpath:config/string.properties" }, ignoreResourceNotFound = true, encoding = "utf-8") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
ignoreResourceNotFound=true表示找不到该文件,不报错。 .properties文件默认使用ISO-8859-1,所有我们这里设置的是utf-8
在controller通过@Value(“${属性名}”)注解来加载我们自定义配置文件中的属性值:
参数间引用
在application.properties中的各个参数之间也可以直接引用来使用,就像下面的设置:com.lpl.name=liudalei com.lpl.sex=boy com.lpl.person=${com.lpl.name} is a ${com.lpl.sex}
当我们获取com.lpl.person属性的时候就会获取到 liudalei is a boy
使用随机数
Spring Boot的属性配置文件中可以通过${random}来产生int值、long值或者string字符串,来支持属性的随机值。他只在加载时,初始化一次,刷新浏览器不停地访问,值是不会发生变化的#测试随机数 # 随机字符串 com.test.random.value=${random.value} # 随机int com.test.random.number=${random.int} # 随机long com.test.random.bignumber=${random.long} # 10以内的随机数 com.test.random.test10=${random.int(10)} # 10-20的随机数 com.test.random.test10-20=${random.int[10,20]}
多环境开发
在我们的需求中,可能存在发短信的业务需求,如果我们在开发工程中一直进行短信的测试,无疑是一种浪费,我们只在实际的生产环境中才发送短信,在开发工程中只生产随机数就可以。那么我们就可以借助SpringBoot的注解@Profile帮助我们实现这样的需求。用两个实现类举例子:
生产环境:
@Service @Profile("prod") public class UserServiceImpl implements UserService { @Override public String getUserName() { // TODO Auto-generated method stub return "生产环境"; } }
开发环境:
@Service @Profile("dev") public class UserServiceImpl1 implements UserService { @Override public String getUserName() { // TODO Auto-generated method stub return "开发环境"; } }
然后我们在application.properties进行如下配置,就是生产环境
spring.profiles.active=prod
当然我们也可以在不同的开发环境中使用不同的的配置文件,这样我们就避免了修改配置文件信息。比如说上传文件的时候,在本地上传地址和服务器地址的切换,我们需要建以下几个文件,分别表示不同的开发环境:
application.properties
application-dev.properties: 开发环境
application-test.properties:测试环境
application-prod.properties 生产环境
在不同的配置文件中进行不同开发环境的配置即可,我们需要用到哪个开发环境在application.properties中配置
spring.profiles.active即可 ,例如我们使用的是开发环境,那么我们需在application.properties中配置:
spring.profiles.active=dev
相关文章推荐
- 在Visual C++ 6.0下对Windows配置设置文件的存取访问方法的详细介绍。
- 用户、组及配置文件介绍
- EasyPlayerPro windows播放器本地配置文件配置方法介绍
- 变色龙配置文件功能介绍
- 软件开发工程师(JAVA)中级考试大纲-----四(四)Log4J的原理及配置;Log4J常用的API;在项目中应用日志框架Log4J关键类和接口介绍;Java properties配置文件log
- struts2第一个实例和配置文件介绍
- 通用属性配置文件(GATT)及其服务,特性与属性介绍
- springboot 读取配置文件的方式
- MySQL5.7(安装版)的安装,配置,全家桶的简要介绍,以及它的文件结构和数据库文件夹的修改
- MYSQL中MY.CNF配置文件及参数介绍
- hibernate框架_配置文件介绍
- 配置文件入门 - WebConfig.config常用配置节点介绍
- SpringBoot开发详解(二)--SpringBoot的配置文件以及注解
- PHP获取和操作配置文件php.ini的几个函数介绍
- SpringBoot ——配置文件多环境配置
- SpringBoot 变更默认配置文件名称
- Nagios配置文件介绍
- SpringBoot通过自己的配置文件或者从数据库spring security动态配置url权限
- HTTP服务器Nginx.conf配置文件介绍与调试
- nginx配置文件介绍