SpringBoot(二):配置文件详解
2017-09-06 16:05
453 查看
在上节中,我们说到了可以在application.properties里面设置server.port来更换服务启动端口,
这节就来说说配置文件的详细作用.
关于springboot应用的配置内容都可以集中在该文件中,根据我们引入的不同的start模块,
可以在这里定义容器的端口号,数据库连接信息,日志级别等各种配置信息.
如指定端口:server.port=8888
指定服务名:spring.application.name=springboot-demo
一.配置文件的生效顺序(会对值进行覆盖)
命令行参数
java:comp/env里的JNDI属性
JVM操作系统
操作系统环境变量
随机生成的random.*前缀的属性,会产生一个RandomValuePropertySource
在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
在@Configuration类上的@PropertySource注解
默认属性(使用SpringApplication.setDefaultProperties指定)
二.配置文件可以放在以下四个位置:
外置,在对应于应用程序运行目录的/config子目录里面
外置,在应用程序运行的目录里
内置,在config包内
内置,在classpath根目录
如果在同一个优先级位置时候 yml会覆盖掉properties
三.自定义配置文件
1)随机数
2)属性占位符
3)禁用模板缓存
模板缓存默认是开启的,但是在开发期间,如果模板缓存开启,就不能实时看到变更的效果,所以可以将对应的模板缓存关闭.
ps:生产环境中一定记得要开启
4)配置嵌入式服务器
5)配置日志
springboot默认是采用的logbakc作为日志.
如果你要采用别的日志,就需要剔除boot自带的log的jar
6)数据源配置
7)多个环境配置文件
application-test.properties:测试环境
application-dev.properties:开发环境
application-prod.properties:生产环境
然后在application.properties中配置:
ps:
我个人习惯了用properties配置,如果使用yml来配置, : 后面要跟空格
这节就来说说配置文件的详细作用.
关于springboot应用的配置内容都可以集中在该文件中,根据我们引入的不同的start模块,
可以在这里定义容器的端口号,数据库连接信息,日志级别等各种配置信息.
如指定端口:server.port=8888
指定服务名:spring.application.name=springboot-demo
一.配置文件的生效顺序(会对值进行覆盖)
命令行参数
java:comp/env里的JNDI属性
JVM操作系统
操作系统环境变量
随机生成的random.*前缀的属性,会产生一个RandomValuePropertySource
在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
在@Configuration类上的@PropertySource注解
默认属性(使用SpringApplication.setDefaultProperties指定)
二.配置文件可以放在以下四个位置:
外置,在对应于应用程序运行目录的/config子目录里面
外置,在应用程序运行的目录里
内置,在config包内
内置,在classpath根目录
如果在同一个优先级位置时候 yml会覆盖掉properties
三.自定义配置文件
1)随机数
#随机字符串32位 secret=${random.value} #随机int number=${random.int} #随机long bignumber=${random.long} #随机10以内int number.less.than.ten=${random.int(10)} #随机指定范围的值 number.in.range=${random.int[1024,65536]}
2)属性占位符
#占位符 name=SpringBootDemo desc=${name} is very simple测试同上
3)禁用模板缓存
模板缓存默认是开启的,但是在开发期间,如果模板缓存开启,就不能实时看到变更的效果,所以可以将对应的模板缓存关闭.
ps:生产环境中一定记得要开启
#禁用模板缓存 #freemark spring.freemarker.cache=false #Groovry spring.groovy.template.cache=false #velocity spring.velocity.cache=false
4)配置嵌入式服务器
#配置服务器端口 server.port=8080 #还有一些ssl配置,目前没用到
5)配置日志
springboot默认是采用的logbakc作为日志.
如果你要采用别的日志,就需要剔除boot自带的log的jar
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <!-- 剔除日志jar --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>这里我们依然是将解logback日志配置
#日志 #读取classpath:logback-mj.xml配置,不能直接使用logback.xml,会无法初始化spring #springboot推荐使用logback logging.config=classpath:logback-mj.xml
6)数据源配置
#mysql #1.可以不指定 driver-class-name,spring boot 会自动识别 url。 #2.数据连接池默认使用 tomcat-jdbc spring.datasource.url=jdbc:mysql://192.168.31.125:3306/mj?characterEncoding=utf8&useSSL=true&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver
7)多个环境配置文件
application-test.properties:测试环境
application-dev.properties:开发环境
application-prod.properties:生产环境
然后在application.properties中配置:
#主配置文件,配置了这个会优先读取里面的属性覆盖主配置文件的属性 spring.profiles.active=dev
ps:
我个人习惯了用properties配置,如果使用yml来配置, : 后面要跟空格
相关文章推荐
- SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解
- 详解spring boot starter redis配置文件
- 四、SpringBoot属性配置文件详解
- Spring Boot-配置文件详解:Properties和YAML
- 详解Spring Boot加载properties和yml配置文件
- Spring Boot系列教程四:配置文件详解properties
- Spring Boot属性配置文件详解
- 02.Spring Cloud学习笔记之Spring Boot配置文件详解
- SpringBoot(三):SpringBoot 属性配置文件详解
- Spring Boot属性配置文件详解
- spring-boot实战【08】【转】:Spring Boot属性配置文件详解
- spring Boot 配置文件详解
- Spring Boot 配置文件详解:Properties和YAML
- spring boot 配置文件详解
- spring Boot 配置文件详解
- 2、spring-boot 工程配置——配置文件详解:自定义属性、随机数、多环境配置等
- Spring Boot属性配置文件详解
- Spring Boot属性配置文件详解
- Spring Boot 配置文件详解:Properties和YAML
- SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项