1、Spring Boot默认配置文件为application.properties或application.yml(这里用的是application.yml,所以要注意空格),例如配置名“:”后面有空格或空行
server:
# 配置端口
port: 8080
# 配置项目发布路径
servlet:
context-path: /
# 使用jpa操纵mysql数据库
# 需要添加依赖spring-boot-starter-data-jpa和mysql-connector-java
spring:
datasource:
url: jdbc:mysql://localhost:3306/blog?useUnicode=true&useSSL=false&characterEncoding=utf-8&autoReconnect=true
username: root
password: yuan0123
driver-class-name: com.mysql.jdbc.Driver
jpa:
database: MYSQL
show-sql: true
hibernate:
ddl-auto: update
# 设置运行模式,加载不同配置文件application-*.yml,以便适应各种运行环境
profiles:
# 模式设置-开发模式-自动加载application-dev.yml
# active: dev
# 模式设置-测试模式-自动加载application-test.yml
active: test
#logging:
# 日志默认配置文件:classpath:logback-spring.xml/classpath:logback-spring.groovy,也可以用以下字段自定义配置
#config: classpath:logback-spring.xml
2、自己创建相应的application-*.yml,写入想要的配置,以适用于不用项目运行环境(*有特殊需求则进行配置)
3、配置不同日志打印格式(*有特殊需求则进行配置)
默认的配置日志格式的文件为:
classpath:logback-spring.xml/classpath:logback-spring.groovy
也可以在application.yml中通过以下字段配置
#logging:
# 日志默认配置文件:classpath:logback-spring.xml/classpath:logback-spring.groovy,也可以用以下字段自定义配置
#config: classpath:logback-spring.xml
以下是具体配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志格式
2018-04-08 12:16:39.593 |-INFO [restartedMain] org.apache.tomcat.util.net.NioSelectorPool [180] -| Using a shared selector for servlet write/read
-->
<property name="DEF_PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
<!-- 日志格式
[INFO ] per.yuan.spring.controller.BlogController [30] [2018-04-10 10:04:13.786]
->> msg msg msg
-->
<property name="DEV_PATTERN" value="[%-5level] %c [%L] [%-12(%d{yyyy-MM-dd HH:mm:ss.SSS})] %n -->> %msg%n" />
<!-- 测试环境下,日志文件路径 -->
<property name="TEST_FILE_PATH" value="d:/SpringBoot-test.log" />
<!-- 开发环境 -->
<springProfile name="dev">
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${DEV_PATTERN}</pattern>
</encoder>
</appender>
<logger name="com.light.springboot" level="debug" />
<root level="info">
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
<!-- 测试环境 -->
<springProfile name="test">
<!-- 每天产生一个文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${TEST_FILE_PATH}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名称 -->
<fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 文件最大保存历史数量 -->
<MaxHistory>100</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${DEF_PATTERN}</pattern>
</layout>
</appender>
<root level="info">
<appender-ref ref="TEST-FILE" />
</root>
</springProfile>
</configuration>
4、在程序中引入自定义配置
假如配置文件中有以下字段
# 以下是自己程序中需要的自定义配置
blog:
webmaster: "${blogInfo}"
url: "http://www.${blog.webmaster}.com"
blogInfo: yardstrong
(1)直接使用@Value注解引入配置
@Value("${blogInfo}")
private String blogInfo;
@Value("${blog.url}")
private String blogUrl;
使用时直接使用即可
log.info("blogInfo:\t"+blogInfo);
log.info("blogUrl:\t"+blogUrl);
(2)利用Bean类注入配置
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "blog")
public class BlogConfig {
private String webmaster;
private String url;
public BlogConfig() {
super();
}
public BlogConfig(String webmaster, String url) {
super();
this.webmaster = webmaster;
this.url = url;
}
public String getWebmaster() {
return webmaster;
}
public void setWebmaster(String webmaster) {
this.webmaster = webmaster;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return "BlogConfig [webmaster=" + webmaster + ", url=" + url + "]";
}
}
使用时直接使用即可
@Autowired
private BlogConfig blogConfig;
@GetMapping(value = "/blog")
public String getList() {
log.info(blogConfig.toString());
return "log in console!!";
}
5、修改Banner ,链接 https://blog.youkuaiyun.com/YardStrong/article/details/81564956
6、Spring Cloud 常用组件 Eureka、Zuul、Config简单配置 https://blog.youkuaiyun.com/YardStrong/article/details/87194068