spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2

spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2


脑阔疼,都歇下了但是总觉得写博客有点上瘾,就再来弄点东西叭

一、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>

二、集成swagger2

其实感觉自己一个人玩并没有必要上swagger,不过【上他!
直接参考文章: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、各处添加swagger注解

controller
在这里插入图片描述
entity
在这里插入图片描述
运行项目
……
……
……
看到这里,恭喜你,文章有坑=。=
脑阔疼的时候看到坑简直要炸
直接运行报错:org.springframework.beans.factory.BeanCreationException:Error creating 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 plus的小功能

#全局逻辑删除字段值 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是有点麻烦了=。=

猜你喜欢

转载自blog.csdn.net/qq_16253859/article/details/106107579