springboot 2.7.0 的尝试

763 阅读2分钟

尝试引入各种jar包是否会有冲突,目前的配置还没有遇到坑,看后续是否会出现问题,做持续更新... pom.xml文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.ex</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>尝试使用 springboot 2.7.0</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>

        <!-- ehcache依赖 -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>

        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.1</version>
        </dependency>

        <!-- mysql和oracle 数据库驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>21.5.0.0</version>
        </dependency>
        <!-- 使用mybatis-plus代码生成器链接oracle数据库时,必须使用的包 -->
        <dependency>
            <groupId>com.oracle.database.nls</groupId>
            <artifactId>orai18n</artifactId>
            <version>21.5.0.0</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <dependency>
            <groupId>com.ibeetl</groupId>
            <artifactId>beetl</artifactId>
            <version>3.10.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.github.liaochong</groupId>
            <artifactId>myexcel</artifactId>
            <version>4.1.1</version>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <!--开发环境-->
            <id>local</id>
            <properties>
                <package.environment>local</package.environment>
            </properties>
        </profile>
        <profile>
            <!--生产环境-->
            <id>prod</id>
            <properties>
                <package.environment>prod</package.environment>
            </properties>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

application.yml文件

spring:
  profiles:
    active: local
  # springboot 2.7.0 和 swagger 版本冲突,因此需要引入如下配置
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER

application-local.yml文件

server:
  port: 8081
  servlet:
    context-path: /

spring:
  datasource:
    dynamic:
      primary: mysql
      strict: false
      druid:                                                  #以下是全局默认值,可以全局更改
        initial-size: 5                                       # 初始化连接数
        min-idle: 5                                           # 最小空闲连接数
        max-active: 20                                        # 最大活动连接数
        max-wait: 60000                                       # 配置获取连接等待超时的时间
        time-between-eviction-runs-millis: 60000              # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
        min-evictable-idle-time-millis: 300000                # 配置一个连接在池中最小生存的时间,单位是毫秒
        validation-query: SELECT 1                            # 校验SQL
        test-while-idle: true
        test-on-borrow: false
        test-on-return: false
        removeAbandoned: true                                 # 如果连接泄露,是否需要回收泄露的连接,默认false
        removeAbandonedTimeoutMillis: 180000                  # 连接回收的超时时间,默认5分钟
        logAbandoned: true                                    # :如果回收了泄露的连接,是否要打印一条log,默认false
        pool-prepared-statements: true                        # 打开PSCache,并且指定每个连接上PSCache的大小
        max-pool-prepared-statement-per-connection-size: 20
        filters: stat                                         # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
        connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000  # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
        use-global-data-source-stat: true                     # 合并多个DruidDataSource的监控数据
      datasource:
        mysql:
          url: jdbc:mysql://127.0.0.1:3306/table-name?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
          username: root
          password: *******
          driver-class-name: com.mysql.cj.jdbc.Driver
          hikari:
            auto-commit: true
            # 空闲连接超时时长
            # idle-timeout: 60000
            #连接超时时长
            connection-timeout: 60000
            #最大生命周期,0不过期
            max-lifetime: 0
            #最小空闲连接数
            minimum-idle: 10
            #最大连接数量
            maximum-pool-size: 10
        oracle:
          url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
          username: system
          password: ******
          driver-class-name: oracle.jdbc.OracleDriver
          druid: #以下均为默认值
            initial-size: 3
            max-active: 8
            min-idle: 2
            max-wait: -1
            min-evictable-idle-time-millis: 30000
            max-evictable-idle-time-millis: 30000
            time-between-eviction-runs-millis: 0
            validation-query: select 1
            validation-query-timeout: -1
            test-on-borrow: false
            test-on-return: false
            test-while-idle: true
            pool-prepared-statements: true
            max-open-prepared-statements: 100
            filters: stat,wall
            share-prepared-statements: true
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    serialization:
      write-dates-as-timestamps: false
  freemarker:
    checkTemplateLocation: false
    settings:
      classic_compatible: true
  cache:
    type: ehcache
    ehcache:
      config: classpath:/ehcache.xml

mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: false
    # 逻辑删除配置
    db-config:
      # 删除前
      logic-not-delete-value: 1
      # 删除后
      logic-delete-value: 0
  mapper-locations: classpath:mapper/**/*.xml

logging:
  level:
    com.baomidou.mybatisplus.core.metadata.TableInfoHelper: info