Spring Boot: プロジェクトを最初から構築する - 4 日目 コンソール出力ログの美化 + swagger2
1. Logback.xml 設定ログの美化
logback.xml にはさまざまな設定が可能ですが、最も重要なのは<append>
ラベルの下の内容であり、<property>
ラベルを組み合わせることでコンソール出力文の美化を実現できます。例えば:
<!--定义日志文件的输出样式-->
<property name="beautyPattern" value="%d{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/>
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${beautyPattern}</pattern>
</encoder>
</appender>
2. swagger2 を統合する
本当は一人でプレイするのに威張らなくても良いような気もするのですが、【彼のところへ行け!
記事への直接参照: https://www.jianshu.com/p/583e302caa83
1. 依存関係を導入する
<!--swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
2. 設定ファイルを書き込む
package com.dingx.personal.common.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2Config {
//是否开启swagger,正式环境一般是需要关闭的,可根据springboot的多环境配置进行设置
@Value(value = "${swagger.enabled}")
Boolean swaggerEnabled;
//自己的包名
private static final String basePackage = "com.dingx.personal";
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
// 是否开启
.enable(swaggerEnabled).select()
// 扫描的路径包
.apis(RequestHandlerSelectors.basePackage(basePackage))
// 指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any()).build().pathMapping("/");
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SpringBoot-Swagger2集成 : dingx")
//描述信息
.description("dingx")
.version("1.0.0")
.build();
}
}
3. 随所にスワッガー注釈を追加する
コントローラー
エンティティは
プロジェクトを実行します
...
...
...
ここをご覧ください、おめでとうございます。この記事には落とし穴があります =。=
脳が痛いとき、ピットを見ると爆発寸前です。
直接実行してエラーを報告します: org.springframework.beans.factory.BeanCreationException:Error created Bean with name 'xmlModelPlugin' では、
pom に jaxb-api を導入する必要があります。 java9以降は全て組み込まれているそうですが、java8は誠に申し訳ございません。
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
ネットの噂によると導入バージョンは2.3.0だそうですが、生きるも死ぬもダメなら放っておいて、入手できるバージョンはどちらでもいいので運命に従うべきです。
プロジェクトを実行し、アドレスの後に /swagger-ui.html を追加します
PS: これは Mybatis プラスの小さな機能です
#全局逻辑删除字段值 3.3.0开始支持,详情看下面。
mybatis-plus.global-config.db-config.logic-delete-field=removed
# 逻辑已删除值(默认为 1)
mybatis-plus.global-config.db-config.logic-delete-value=1
# 逻辑未删除值(默认为 0)
mybatis-plus.global-config.db-config.logic-not-delete-value=0
@TableLogic
ここでトゥームストーン フィールドの値を指定した後は、エンティティ クラスにタグを追加する必要はありません。
次の記事では、Mybatis plusの自動コード生成を試してみますが、entity+service+dao+mapperの手書きはちょっと面倒=。=