springboot配置文件
springboot最简便的地方,一是开箱即用,二是配置简单,配置文件路径一般在/src/main/resources 下,主要配置有两种形式,一种是properties文件,一种是springboot官方推荐的yml后缀的文件
一、properties/yml文件配置spring
- 使用properties文件springboot配置
#配置内置tomcat启动端口
server.port=8080
#给程序起个名字
spring.application.name=boot-helloworld
properties文件作为众多配置文件中的佼佼者,使用比较方便,格式简单,等号左边为属性,右边为值,可以说是简单方便
- 使用yml文件作为springboot配置
#配置内置tomcat启动端口
server:
port: 8080
#应用名称
spring:
application:
name: boot-helloworld
yml文件中,有着严格的层级关系,以空格或者Tab缩进表示,英文冒号结尾,末尾层级最后空至少一个英文空格,然后填写该属性的值,优点在于,层级表示可以简单的连着写多个值,例如:
spring:
application:
name: boot-helloworld
#redis连接池配置, 可以换行保持缩进,连着写
redis:
host: localhost
port: 6379
password: password
timeOut: 5000
maxIdle: 50
maxWaitMillis: 5000
maxTotal: 500
二、springboot常用配置项
以下摘自 spring-boot-autoconfiguration.jar中的spring-configuration-metadata.json,另外,springboot默认配置都在此包中的spring-autoconfigure-metadata.properties文件中有指定,有需要的同学可以去翻阅,不同springboot版本,默认的属性有区别
- 指定项目启动端口
server:
port: 8081
- 给项目指定名称
spring:
application:
name: boot-helloworld
- 日志级别
#默认情况下springboot使用Logback作为日志框架
#logging.level开头,指定一个依赖的groupId然后,指定日志级别
logging:
level:
org.springframeword.web: debug
- 多个环境下指定启动使用的配置环境
#只需要在application.properties中设置spring.profiles.active=prod来指定活动的profile即可
#如下表示采用application-test.yml
#默认使用default(application.yml),这样可以区分开发、线上、测试,preview等环境
spring:
profiles:
active: test
- 指定项目路径
#在所有接口访问路径之前需要加/boot
server:
servlet:
context-path: /boot
三、基于@Value注解读取自定义属性
以下代码仅供演示
1: User.java
/**
* 当作一个配置项,简单处理
* @author Calvin
* @date 2019/07/24
*/
public class User {
/**
* ID
*/
private String id;
/**
* 名字
*/
private String userName;
/**
* 年龄
*/
private Integer age;
/**
* 性别
*/
private String gender;
/**
* 所使用的操作系统
*/
private String systemName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Inte