Spring-boot集成swagger以及MapStruct简单使用

本文介绍了如何解决SpringfoxSwagger在3.0.0版本中出现的404问题,通过回退到2.9.2版本并手动指定swagger-models的1.5.21版本。接着展示了Swagger的配置注入,包括分组和API信息设置,并强调了在生产环境中通常应禁用Swagger。文章还提到了PO和VO对象的分离,以及如何使用MapStruct简化对象之间的转换,最后给出了BaseController的抽象类示例,用于处理常见的CRUD操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)添加依赖,我使用3.0.0版本时会出现swagger-ui页面404的问题,所以改成2.9.2,使用默认版本swagger-model会出现判空异常。

<!--        swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-models</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.21</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2)swagger注入配置

         要分多少类别就注入多少个Docket,enable使用配置文件,根据运行环境来决定是否启用,一般生产环境不要开启swagger。

package com.example.jiakao.common.config;

import com.example.jiakao.common.prop.ProjProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;

@Configuration
@EnableSwagger2
public class SwaggerCfg {
    private static final String VERSION = "1.0.0";
    @Autowired
    private ProjProperties properties;
    @Bean
    public Docket docket(){
        return basicDocket("all")
                .apiInfo(apiInfo("接口文档","详细接口文档"))
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .build();
    }
    @Bean
    public Docket dictDocket(){
        return basicDocket("dict","/(dict.*)")
                .apiInfo(apiInfo("dict接口文档","dict详细接口文档"));
    }

    private ApiInfo apiInfo(String title, String description){
        ApiInfoBuilder builder = new ApiInfoBuilder();
        builder.title(title);
        builder.description(description);
        builder.version(VERSION);
        return builder.build();
    }
    private Docket basicDocket(String name){
        Parameter token = new ParameterBuilder()
                .name("Token")
                .description("用户登录令牌")
                .parameterType("header")
                .modelRef(new ModelRef("String"))
                .build();
        return new Docket(DocumentationType.SWAGGER_2)
                .ignoredParameterTypes(HttpSession.class, HttpServletRequest.class, HttpServletResponse.class)
                .groupName(name)
                .enable(properties.getSwagger());
//                .globalOperationParameters(List.of(token));
    }
    private Docket basicDocket(String name, String regex){
        return basicDocket(name)
                .select()
                .paths(PathSelectors.regex(regex))
                .build();
    }
}

3)常用注解

4)项目结构完善

        数据库po对象应该与vo对象分离开,对于swagger的配置应该标注在vo对象上,而不应该与po对象混在一起。

po对象,用于数据库操作

package com.example.jiakao.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import javax.persistence.*;

@Entity
@Data
@TableName("plate_region")
@Table(name="plate_region")
public class PlateRegionPo {
    @Id
    @TableId(type = IdType.AUTO)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column( columnDefinition = "int4" )
    private Integer id;
    @Column( columnDefinition = "varchar(64)" )
    private String name;
    @Column( columnDefinition = "varchar(64)" )
    private String plate;
    @Column( columnDefinition = "int4 default 0 " )
    private Integer parentId;
}

 vo对象,用于保存时传参

package com.example.jiakao.pojo.vo.req.save;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel("保存一个省份或者城市信息的参数")
public class PlateRegionReqVo {
    @ApiModelProperty(value = "省份或者城市的id")
    private Integer id;
    @ApiModelProperty(value = "省份或者城市的名称", required = true)
    private String name;
    @ApiModelProperty(value = "省份或者城市的代号", required = true)
    private String plate;
    @ApiModelProperty(value = "城市所属省份的id,省份为0,默认值为0", required = true)
    private Integer parentId = 0;
}

        因为将将参数与po对象分开了,所以会射涉及大量vo转po,这里可以使用mapstruct来简化转化过程。

<!--        对象转换,编译期间存在-->
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>1.5.3.Final</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>1.5.3.Final</version>
            <scope>provided</scope>
        </dependency>

        在做vo和po之间相互转换时,我们有时候会有将一个类型转为其他类型或者字段名不一致的情况,这时候我们可以使用MapStrcut的Mapping注解。

@Mapping(source = "createTime",target="createTime",qualifiedBy = MapStructFormatter.Date2Millis.class)

qualifiedBy属性指定类型转换使用的方法,该方法拥有一个Date2Millis注解。注解和转换方法定义如下。规定注解必须要使用@Qualifier注解标注。@Retention(RetentionPolicy.CLASS)代表该注解只在编译期间起作用。@Target(ElementType.METHOD)代表该注解应标注在方法上。

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Date;

public class MapStructFormatter {
    @Qualifier
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.CLASS)
    public @interface Date2Millis {
    }
    @Date2Millis
    public static Long date2millis(Date date){
        if(date == null) return null;
        return date.getTime();
    }
    @Qualifier
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.CLASS)
    public @interface Millis2Date {
    }
    @Millis2Date
    public static Date millis2date(Long timeStamp){
        if(timeStamp == null) return null;
        return new Date(timeStamp);
    }
}

        使用方式,用不了泛型。@Mapper(uses = {MapStructFormatter.class})代表应在哪个类中寻找转换方法。qualifiedBy = MapStructFormatter.Date2Millis.class)代表应该使用被Date2Millis注解标注的方法进行类型转换。

package com.example.jiakao.common.mapStruct;

import com.example.jiakao.pojo.entity.*;
import com.example.jiakao.pojo.vo.list.UserVo;
import com.example.jiakao.pojo.vo.req.save.*;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

@Mapper(uses = {
       MapStructFormatter.class
})
public interface MapStructs {
    // 接口中的属性只能是public static,可以省略
    MapStructs INSTANCE = Mappers.getMapper(MapStructs.class);

    @Mapping(source = "createTime",target="createTime",qualifiedBy = MapStructFormatter.Date2Millis.class)
    @Mapping(source = "updateTime",target="updateTime",qualifiedBy = MapStructFormatter.Date2Millis.class)
    UserVo po2vo(UsersPo po);

    ExamPlacePo reqVo2po(ExamPlaceReqVo vo);
    PlateRegionPo reqVo2po(PlateRegionReqVo vo);
    ExamCoursePo reqVo2po(ExamCourseReqVo po);
    UsersPo reqVo2po(UsersReqVo po);
    RolesPo reqVo2po(RolesReqVo po);
    ResourcePo reqVo2po(ResourceReqVo po);
}

         同时我们可以抽离一个BaseController的抽象类,实现一些基础接口。

package com.example.jiakao.controller;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.jiakao.common.constant.ResultCode;
import com.example.jiakao.exception.http.ArgumentsException;
import com.example.jiakao.common.util.Vos;
import com.example.jiakao.pojo.vo.json.JsonVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Arrays;

/**
 *
 * @param <Po> 数据库entity类
 * @param <ReqVo> pojo.vo.req.save中的类,用于插入数据库的请求参数,非entity
 */
public abstract class BaseController<Po, ReqVo> {
    protected abstract IService<Po> getService();
    protected abstract Po reqVo2Po(ReqVo reqVo);
    @ApiOperation("删除一条数据或多条数据")
    @PostMapping("/remove")
    public JsonVo remove(
            @ApiParam(value = "一个或多个id,以逗号分割",required = true)
            @RequestParam String id){
        String[] ids = id.split(",");
        if(getService().removeByIds(Arrays.asList(ids))){
            return Vos.ok();
        } else{
            throw new ArgumentsException(ResultCode.ARGUMENTS_ERROR);
        }
    }
    @ApiOperation("保存一条数据")
    @PostMapping("/save")
    public JsonVo save(@RequestBody ReqVo vo) {
        Po entity = reqVo2Po(vo);
        if(getService().saveOrUpdate(entity)){
            return Vos.ok();
        } else{
            throw new ArgumentsException(ResultCode.ARGUMENTS_ERROR);
        }
    }
}

 目录结构

"C:\Program Files\Java\jdk1.8.0_331\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.2.3\lib\idea_rt.jar=64286:C:\Program Files\JetBrains\IntelliJ IDEA 2024.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_331\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_331\jre\lib\rt.jar;C:\Users\cy\Desktop\毕业设计\weblog\weblog-springboot\weblog-web\target\classes;C:\Users\cy\Desktop\毕业设计\weblog\weblog-springboot\weblog-module-common\target\classes;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-aop\2.6.3\spring-boot-starter-aop-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-aop\5.3.15\spring-aop-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\core\jackson-databind\2.15.2\jackson-databind-2.15.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\core\jackson-annotations\2.13.1\jackson-annotations-2.13.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\core\jackson-core\2.13.1\jackson-core-2.13.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\baomidou\mybatis-plus-boot-starter\3.5.2\mybatis-plus-boot-starter-3.5.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\baomidou\mybatis-plus\3.5.2\mybatis-plus-3.5.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\baomidou\mybatis-plus-extension\3.5.2\mybatis-plus-extension-3.5.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\baomidou\mybatis-plus-core\3.5.2\mybatis-plus-core-3.5.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\baomidou\mybatis-plus-annotation\3.5.2\mybatis-plus-annotation-3.5.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\github\jsqlparser\jsqlparser\4.4\jsqlparser-4.4.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\mybatis\mybatis\3.5.10\mybatis-3.5.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\mybatis\mybatis-spring\2.0.7\mybatis-spring-2.0.7.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.6.10\kotlin-stdlib-jdk8-1.6.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jetbrains\kotlin\kotlin-stdlib\1.6.10\kotlin-stdlib-1.6.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jetbrains\annotations\13.0\annotations-13.0.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jetbrains\kotlin\kotlin-stdlib-common\1.6.10\kotlin-stdlib-common-1.6.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.6.10\kotlin-stdlib-jdk7-1.6.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-autoconfigure\2.6.3\spring-boot-autoconfigure-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-jdbc\2.6.3\spring-boot-starter-jdbc-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-jdbc\5.3.15\spring-jdbc-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-tx\5.3.15\spring-tx-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\p6spy\p6spy\3.9.1\p6spy-3.9.1.jar;C:\Users\cy\Desktop\毕业设计\weblog\weblog-springboot\weblog-module-admin\target\classes;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-validation\2.6.3\spring-boot-starter-validation-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter\2.6.3\spring-boot-starter-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot\2.6.3\spring-boot-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-logging\2.6.3\spring-boot-starter-logging-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\ch\qos\logback\logback-classic\1.2.10\logback-classic-1.2.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\apache\logging\log4j\log4j-to-slf4j\2.17.1\log4j-to-slf4j-2.17.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\hibernate\validator\hibernate-validator\6.2.0.Final\hibernate-validator-6.2.0.Final.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\jboss\logging\jboss-logging\3.4.3.Final\jboss-logging-3.4.3.Final.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-web\2.6.3\spring-boot-starter-web-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-json\2.6.3\spring-boot-starter-json-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.1\jackson-datatype-jdk8-2.13.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.1\jackson-datatype-jsr310-2.13.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.1\jackson-module-parameter-names-2.13.1.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\boot\spring-boot-starter-tomcat\2.6.3\spring-boot-starter-tomcat-2.6.3.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-web\5.3.15\spring-web-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-beans\5.3.15\spring-beans-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-webmvc\5.3.15\spring-webmvc-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-context\5.3.15\spring-context-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-expression\5.3.15\spring-expression-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\projectlombok\lombok\1.18.28\lombok-1.18.28.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\net\bytebuddy\byte-buddy\1.11.22\byte-buddy-1.11.22.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-core\5.3.15\spring-core-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\spring-jcl\5.3.15\spring-jcl-5.3.15.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\github\xiaoymin\knife4j-openapi2-spring-boot-starter\4.3.0\knife4j-openapi2-spring-boot-starter-4.3.0.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\github\xiaoymin\knife4j-core\4.3.0\knife4j-core-4.3.0.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\com\github\xiaoymin\knife4j-openapi2-ui\4.3.0\knife4j-openapi2-ui-4.3.0.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-swagger2\2.10.5\springfox-swagger2-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-spi\2.10.5\springfox-spi-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-core\2.10.5\springfox-core-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-schema\2.10.5\springfox-schema-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-swagger-common\2.10.5\springfox-swagger-common-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-spring-web\2.10.5\springfox-spring-web-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\github\classgraph\classgraph\4.1.7\classgraph-4.1.7.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\plugin\spring-plugin-core\2.0.0.RELEASE\spring-plugin-core-2.0.0.RELEASE.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\springframework\plugin\spring-plugin-metadata\2.0.0.RELEASE\spring-plugin-metadata-2.0.0.RELEASE.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\swagger\swagger-models\1.6.6\swagger-models-1.6.6.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\swagger\swagger-annotations\1.6.6\swagger-annotations-1.6.6.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-bean-validators\2.10.5\springfox-bean-validators-2.10.5.jar;C:\Users\cy\work\apache-maven-3.8.5-bin\apache-maven-3.8.5\mvn_repo\io\springfox\springfox-spring-webmvc\2.10.5\springfox-spring-webmvc-2.10.5.jar" com.ccyy.weblog.web.WeblogWebApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.3) 2025-06-24 12:45:03.986 INFO 5904 --- [ main] c.ccyy.weblog.web.WeblogWebApplication : Starting WeblogWebApplication using Java 1.8.0_331 on DESKTOP-OQK5PLI with PID 5904 (C:\Users\cy\Desktop\毕业设计\weblog\weblog-springboot\weblog-web\target\classes started by cy in C:\Users\cy\Desktop\毕业设计\weblog\weblog-springboot) 2025-06-24 12:45:03.988 INFO 5904 --- [ main] c.ccyy.weblog.web.WeblogWebApplication : The following profiles are active: dev 2025-06-24 12:45:04.293 WARN 5904 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.ccyy.weblog.web.WeblogWebApplication]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfigurerAdapter.class] cannot be opened because it does not exist 2025-06-24 12:45:04.297 INFO 5904 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-06-24 12:45:04.317 ERROR 5904 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.ccyy.weblog.web.WeblogWebApplication]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfigurerAdapter.class] cannot be opened because it does not exist at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:189) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) [spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414) [spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:302) [spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) [spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) [spring-boot-2.6.3.jar:2.6.3] at com.ccyy.weblog.web.WeblogWebApplication.main(WeblogWebApplication.java:12) [classes/:na] Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfigurerAdapter.class] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:696) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:1010) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:341) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:304) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:207) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:175) ~[spring-context-5.3.15.jar:5.3.15] ... 13 common frames omitted 进程已结束,退出代码为 1
06-25
C:\Users\涂大钧\.jdks\corretto-17.0.14\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=58848:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath D:\AAAAA\笔记\reids7\target\classes;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.3\spring-boot-starter-jdbc-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter\3.5.3\spring-boot-starter-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot\3.5.3\spring-boot-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.3\spring-boot-autoconfigure-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-logging\3.5.3\spring-boot-starter-logging-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-classic\1.5.18\logback-classic-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-core\1.5.18\logback-core-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\jul-to-slf4j\2.0.17\jul-to-slf4j-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\yaml\snakeyaml\2.4\snakeyaml-2.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\zaxxer\HikariCP\6.3.0\HikariCP-6.3.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jdbc\6.2.8\spring-jdbc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-beans\6.2.8\spring-beans-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-tx\6.2.8\spring-tx-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\lettuce\lettuce-core\6.2.4.RELEASE\lettuce-core-6.2.4.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-common\4.1.122.Final\netty-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-handler\4.1.122.Final\netty-handler-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-resolver\4.1.122.Final\netty-resolver-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-buffer\4.1.122.Final\netty-buffer-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport-native-unix-common\4.1.122.Final\netty-transport-native-unix-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-codec\4.1.122.Final\netty-codec-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport\4.1.122.Final\netty-transport-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\projectreactor\reactor-core\3.7.7\reactor-core-3.7.7.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-data-redis\3.5.3\spring-boot-starter-data-redis-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-redis\3.5.1\spring-data-redis-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-keyvalue\3.5.1\spring-data-keyvalue-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-commons\3.5.1\spring-data-commons-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-oxm\6.2.8\spring-oxm-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-aop\6.2.8\spring-aop-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context-support\6.2.8\spring-context-support-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\commons\commons-pool2\2.12.1\commons-pool2-2.12.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-annotations\2.19.1\jackson-annotations-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\guava\guava\20.0\guava-20.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\classmate\1.7.0\classmate-1.7.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context\6.2.8\spring-context-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\redis\clients\jedis\4.3.1\jedis-4.3.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\json\json\20220320\json-20220320.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\code\gson\gson\2.13.1\gson-2.13.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\errorprone\error_prone_annotations\2.38.0\error_prone_annotations-2.38.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-web\3.5.3\spring-boot-starter-web-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-json\3.5.3\spring-boot-starter-json-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-databind\2.19.1\jackson-databind-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-core\2.19.1\jackson-core-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.19.1\jackson-datatype-jdk8-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.19.1\jackson-datatype-jsr310-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.19.1\jackson-module-parameter-names-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-tomcat\3.5.3\spring-boot-starter-tomcat-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.42\tomcat-embed-core-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.42\tomcat-embed-el-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.42\tomcat-embed-websocket-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-web\6.2.8\spring-web-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-observation\1.15.1\micrometer-observation-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-commons\1.15.1\micrometer-commons-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-webmvc\6.2.8\spring-webmvc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-expression\6.2.8\spring-expression-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\projectlombok\lombok\1.18.38\lombok-1.18.38.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.2\jakarta.xml.bind-api-4.0.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\activation\jakarta.activation-api\2.1.3\jakarta.activation-api-2.1.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\net\bytebuddy\byte-buddy\1.17.6\byte-buddy-1.17.6.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-core\6.2.8\spring-core-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jcl\6.2.8\spring-jcl-6.2.8.jar com.sky.reids7.Reids7Application . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.5.3) 2025-07-16 15:14:43.418 [main] INFO com.sky.reids7.Reids7Application- Starting Reids7Application using Java 17.0.14 with PID 23168 (D:\AAAAA\笔记\reids7\target\classes started by 涂大钧 in D:\AAAAA\笔记\reids7) 2025-07-16 15:14:43.419 [main] INFO com.sky.reids7.Reids7Application- No active profile set, falling back to 1 default profile: "default" 2025-07-16 15:14:43.881 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Multiple Spring Data modules found, entering strict repository configuration mode 2025-07-16 15:14:43.883 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-16 15:14:43.902 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Finished Spring Data repository scanning in 8 ms. Found 0 Redis repository interfaces. 2025-07-16 15:14:44.273 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer- Tomcat initialized with port 8080 (http) 2025-07-16 15:14:44.282 [main] INFO org.apache.catalina.core.StandardService- Starting service [Tomcat] 2025-07-16 15:14:44.283 [main] INFO org.apache.catalina.core.StandardEngine- Starting Servlet engine: [Apache Tomcat/10.1.42] 2025-07-16 15:14:44.323 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]- Initializing Spring embedded WebApplicationContext 2025-07-16 15:14:44.323 [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext- Root WebApplicationContext: initialization completed in 879 ms 2025-07-16 15:14:44.488 [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Injection of resource dependencies failed 2025-07-16 15:14:44.495 [main] INFO org.apache.catalina.core.StandardService- Stopping service [Tomcat] 2025-07-16 15:14:44.506 [main] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger- Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-07-16 15:14:44.518 [main] ERROR org.springframework.boot.SpringApplication- Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.sky.reids7.Reids7Application.main(Reids7Application.java:10) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderService': Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 19 common frames omitted Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redisTemplate' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.class]: Unsatisfied dependency expressed through method 'redisTemplate' parameter 0: Error creating bean with name 'redisConnectionFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 33 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisConnectionFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1826) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1683) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 49 common frames omitted Caused by: java.lang.NoSuchFieldError: HEXPIRE at org.springframework.data.redis.connection.lettuce.LettuceConnection$TypeHints.<clinit>(LettuceConnection.java:1163) at org.springframework.data.redis.connection.lettuce.LettuceConnection.<clinit>(LettuceConnection.java:112) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.start(LettuceConnectionFactory.java:938) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.afterPropertiesSet(LettuceConnectionFactory.java:1009) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1873) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1822) ... 59 common frames omitted 进程已结束,退出代码为 1
最新发布
07-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值