相关文章推荐
捣蛋的皮带  ·  【Oracle错误处理】java ...·  2 周前    · 
打盹的课本  ·  getObject 方法 ...·  2 周前    · 
重情义的自行车  ·  在AWS ...·  1 周前    · 
温暖的海龟  ·  达梦spring-data-jdbc - ...·  1 周前    · 
八块腹肌的课本  ·  java - JPA: SQL ...·  1 年前    · 
孤独的咖啡  ·  C#调用Delphi ...·  1 年前    · 

项目版本升级:从升级到版本前言简单记录一次本人在自己的项目中,把版本升级到版本时升级的步骤,及遇到的问题。提升版本号更改文件中的版本号修改y文件中的部分配置在

SpringBoot项目版本升级:从1.5.3升级到2.1.8版本

简单记录一次本人在自己的SpringBoot项目project-template中,把 1.5.3 版本升级到 2.1.8 版本时升级的步骤,及遇到的问题。

提升parent版本号

更改pom文件中parent的版本号

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.8.RELEASE</version>
    <relativePath />
</parent>

修改yml文件中的部分配置

在1.5版本中,部分配置与2.1版本有些不同

应用名及上下文

1.5版本

server:
  application-display-name: ProjectTemplate-Web
  context-path: /project

2.1版本

server:
  servlet:
    application-display-name: ProjectTemplate-Web
    context-path: /project

1.5版本

spring:
  http:
    multipart:
      location: E:/dev/Project/work/project_data/projettemplate/temp/dev  #文件临时目录
      max-request-size: 40MB
      max-file-size: 40MB

2.1版本

spring:
  servlet:
    multipart:
      location: E:/dev/Project/work/project_data/projettemplate/temp/dev # 文件临时目录
      max-request-size: 40MB
      max-file-size: 40MB

mysql连接

1.5版本

spring:
   datasource: 
     url: jdbc:mysql://localhost:3306/projettemplate?useUnicode=true&useSSL=false&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT
     username: root
     password: root
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: com.mysql.cj.jdbc.Driver

2.1版本

spring:
   datasource: 
     druid:
       url: jdbc:mysql://localhost:3306/projettemplate?useUnicode=true&useSSL=false&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT
       username: root
       password: root
       db-type: com.alibaba.druid.pool.DruidDataSource
       driver-class-name: com.mysql.cj.jdbc.Driver

redis配置

1.5版本

spring:
 redis:   # REDIS (RedisProperties)
   database: 0
   host: 127.0.0.1
   port: 6379
   timeout: 2000
   pool:
     max-active: 8
     max-wait: -1
     max-idle: 8
     min-idle: 0

2.1版本

spring:
  redis:   # REDIS (RedisProperties)
    database: 0
    host: 127.0.0.1
    port: 6379
    timeout: 2000
    jedis:
      pool:
        max-idle: 8
        max-wait: -1

启动项目遇到的问题

druid-spring-boot-starter版本过低报异常

当版本为1.1.6时,报异常:

... ...
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
... ...
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/jdbc/metadata/DataSourcePoolMetadataProvider
... ...
java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
... ...
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/jdbc/metadata/DataSourcePoolMetadataProvider
... ...
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvider

升级为1.1.10版本即可

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

SpringSecurity的AuthenticationManager启动报异常

当报异常:

A component required a bean of type 'org.springframework.security.authentication.AuthenticationManager' that could not be found

在SpringSecurity文件中重写即可

@Bean(name = BeanIds.AUTHENTICATION_MANAGER)
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();

当报以下异常:

The bean 'userDetailsServiceImpl', defined in class path resource [com/itmacy/dev/auth/security/SecurityConfig.class], could not be registered. A bean with that name has already been defined in file [/Users/chenmeixuan/macy/dev/project/study/webBack/project-template/target/project-template-1.0.0-SNAPSHOT_20200215-1336/classes/com/itmacy/dev/auth/security/UserDetailsServiceImpl.class] and overriding is disabled.

在yml文件中添加以下配置即可

spring:
   main:
     allow-bean-definition-overriding: true
spring-boot 编译问题之Could not find org.springframework.boot:spring-boot-gradle-plugin:2.1.5.RELEASE.

1.问题描述A problem occurred configuring root project 'maketControlV'.> Could not resolve all artifacts for configuration ':class

1.2022-09-15:Range模块是跟踪数字范围的模块。 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们。 半开区间 [left, right) 表示所有 left <= x < righ 2.Java数组移除其中某个元素 java 数组移除元素 3.如何使用apache的ab压力测试小工具传参数 4.2022-09-13:给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。 同时给你一个二维整数数组 prices ,其中 prices[i] = [hi, wi, pricei] 表示你可以 5.Android加载框 android加载js