一、 SpringBoot整合devtools(热部署 仅需依赖)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
二、 SpringBoot整合lombok(自动生成getter setter 构造方法 toString)
-
引入依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>
-
实体类常用注解
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; // getter setter @Data // 无参构造 @NoArgsConstructor // 有参构造 @AllArgsConstructor // 自动生成日志对象 @Slf4j public class Demo { private Integer id; private String name; private Integer age; }
-
下载idea对lombok支持的插件
三、日志(定位错误显示运行状态)
SpringBoot默认支持logback
logback配置文件 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 在IDE中运行, 控制台输出全部日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
</filter>
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger{36}) |
%msg%n
</pattern>
</encoder>
</appender>
<appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 在IDE中运行, 不输出日志文件, 打包时level被portable-config-maven-plugin插件改为DEBUG, 输出日志文件 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<File>logs/logback.log</File>
<!-- 按每小时滚动文件,如果一个小时内达到10M也会滚动文件, 滚动文件将会压缩成zip格式, 最多保留672个滚动文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/jx-film-%d{yyyy-MM-dd-HH}.%i.zip</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>672</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{MM:dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="ErrorConsole" class="ch.qos.logback.core.ConsoleAppender">
<!-- 在IDE中运行, 控制台输出全部日志, 打包时level被portable-config-maven-plugin插件改为OFF, 控制台不输出日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger{36})
| %msg%n
</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name="父包名" level="DEBUG"/>
<logger name="org.springframework.web" level="DEBUG"/>
<logger name="org.springframework.core.env.PropertySourcesPropertyResolver" level="WARN"/>
<!--日志级别-->
<root level="DEBUG">
<!--日志输出的目的地-->
<appender-ref ref="Console"/>
<appender-ref ref="RollingFile"/>
</root>
</configuration>