目錄:spring
一 什麼是lombokspringboot
二 lombok安裝app
三 使用lombokide
四 使用logback函數
一 什麼是lombokspring-boot
在寫Java程序的時候常常會遇到以下情形:新建了一個Class類,而後在其中設置了幾個字段,最後還須要花費不少時間來創建getter,setter方法還有構造函數等 。
lombok項目的產生就是爲了省去咱們手動建立getter和setter方法的麻煩,它可以在咱們編譯源碼的時候自動幫咱們生成getter和setter方法。
即它最終可以達到的效果是:在源碼中沒有getter和setter方法,可是在編譯生成的字節碼文件中有getter和setter方法。
二 lombok安裝
在項目中導入依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>
在idea中安裝lombok插件ui
file->settings->plugins->搜索lombokidea
三 使用lombokspa
lombok經常使用註解插件
@Data
做用在類上,提供類全部屬性的get set方法,此外還提供了hashcode equals tostring canequal方法
@Slf4j
註解在類上,爲類提供一個屬性名爲log的slf4j日誌對象
@NoArgsConstructor
註解在類上,爲類提供一個無參構造器
@AllArgsConstructor
註解在類上,爲類提供一個全參構造器
@Builder
註解在類上,使用Builder模式建立對象
四 使用logback
默認狀況下,SpringBoot 採用logback來記錄日誌,並輸出 INFO 級別日誌到控制檯
spring-boot-stater的依賴中包含了logback,無需導包
application.yml
logging: file: application.log
logback-spring.xml 使用這個文件名放到resource下面無需其餘配置,springboot會自動找到這個日誌配置
<configuration> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/application.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>logs/backup/application.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern> <maxFileSize>100MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>50GB</totalSizeCap> </rollingPolicy> <encoder> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) --- %24.24logger.%12.12M\(\) : %msg%n--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M\(\) : %msg%n </pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) --- %24.24logger.%12.12M\(\) : %msg%n--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M\(\) : %msg%n </pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="ROLLING"/> </root> </configuration>