springboot配置快速启动

发布时间:2024年01月10日

一、springboot常用pom.xml依懒?

<?xml version="1.0" encoding="UTF-8"?>
<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>
    <!-- Spring Boot版本 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.qsdx</groupId>
    <artifactId>admin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>java-admin</name>
    <description>java-admin</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <!-- springboot配置注解处理器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- mysql -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- lombok -->
        <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>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

        <!--日志-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.4.11</version>
        </dependency>

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

        <!-- redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-boot3-starter</artifactId>
            <version>1.36.0</version>
        </dependency>

        <!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
        <!--        <dependency>-->
        <!--            <groupId>cn.dev33</groupId>-->
        <!--            <artifactId>sa-token-redis-jackson</artifactId>-->
        <!--            <version>1.36.0</version>-->
        <!--        </dependency>-->

        <!-- Sa-Token 整合 jwt -->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-jwt</artifactId>
            <version>1.36.0</version>
        </dependency>

        <!--自动进行对象之间的字段映射-->
        <dependency>
            <groupId>org.modelmapper</groupId>
            <artifactId>modelmapper</artifactId>
            <version>3.1.1</version>
        </dependency>

        <!--分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.6</version>
        </dependency>

        <!--Hutool 工具生成图形验证码-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-captcha</artifactId>
            <version>5.8.18</version>
        </dependency>

        <!--Hutool 解析excel-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-poi</artifactId>
            <version>5.8.18</version>
        </dependency>
    </dependencies>


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

二、springboot基本配置

1、修改application.yml

#设置端口号
server:
  port: 9999

spring:
  #指定环境
  profiles:
    active: dev

  #JSON日期格式化
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Shanghai

  #日期格式化
  mvc:
    format:
      date: yyyy-MM-dd
      date-time: yyyy-MM-dd HH:mm:ss

  servlet:
    multipart:
      #配置单个文件最大上传大小
      max-file-size: 10MB
      #配置单个请求最大上传大小(一次请求可以上传多个文件)
      max-request-size: 100MB

#静态资源绝对路径
project:
  directory: ${user.dir}\src\main\resources


#加载映射文件
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.qsdx.admin.pojo.entity
  configuration:
    # 开启驼峰命名映射
    map-underscore-to-camel-case: false
    # 将日志输出到控制台
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# 设置MyBatis包的日志级别为debug
logging:
  level:
    com.qsdx.entity: debug
  pattern:
    dateformat: yyyy-MM-dd HH:mm:ss.SSS

############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
sa-token:
  # token 名称(同时也是 cookie 名称)
  token-name: satoken
  # token 有效期(单位:秒) 默认30天,-1 代表永久有效
  timeout: 2592000
  # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
  active-timeout: -1
  # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
  is-concurrent: true
  # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)
  is-share: true
  # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
  token-style: uuid
  # 是否输出操作日志
  is-log: true
  # jwt秘钥
  jwt-secret-key: pjmsjkasifhueuiwyurfewbfjppyvms








2、新建application-dev.yml和application-prod.yml配置文件

application-dev.yml(本地环境)

spring:
  #mysql配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: 账号
    password: 密码

  # Redis相关配置
  data:
    redis:
      # Redis服务器地址
      host: 127.0.0.1
      # Redis服务器连接端口
      port: 6379
      # Redis服务器连接密码(默认为空)
      # password:
      # Redis数据库索引(默认为0)
      database: 1
      # 连接超时时间
      timeout: 10s
      lettuce:
        pool:
          # 连接池最大连接数
          max-active: 200
          # 连接池最大阻塞等待时间(使用负值表示没有限制)
          max-wait: -1ms
          # 连接池中的最大空闲连接
          max-idle: 10
          # 连接池中的最小空闲连接
          min-idle: 0

application-prod.yml(正式环境)

同上,自己添加

3、修改启动类配置

基本配置,指定Mapper接口的包路径

@MapperScan("com.yourpackage.mapper") // 指定Mapper接口的包路径

集成Sa-Token配置

@SpringBootApplication
@MapperScan("com.yourpackage.mapper") // 指定Mapper接口的包路径

public class JavaAdminApplication {

    public static void main(String[] args) throws JsonProcessingException {
        SpringApplication.run(JavaAdminApplication.class, args);
        System.out.println("启动成功,Sa-Token 配置如下:" + SaManager.getConfig());
    }

}

三、新建工作目录

在启动类下新建目录

src
|-- main
    |-- java
        |-- com
            |-- yourpackage
                |-- YourApplication.java   // 启动类,包含 main 方法
                |
                |-- config                // 配置类
                |   |-- AppConfig.java   // 通用配置
                |
                |-- controller            // 控制器层,处理 HTTP 请求
                |   |-- YourController.java  // 你的控制器类
                |
                |-- exception             // 异常处理
                |   |-- YourException.java  // 你的自定义异常类
                |
                |-- mapper                // MyBatis Mapper 接口
                |   |-- YourMapper.java   // 你的 MyBatis Mapper 接口
                |
                |-- pojo                  // POJO 类
                |   |-- dto               // 数据传输对象
                |   |   |-- YourDTO.java  // 你的数据传输对象
                |   |
                |   |-- entity            // 实体类
                |   |   |-- YourEntity.java  // 你的实体类
                |   |
                |   |-- vo                // 视图对象
                |       |-- YourVO.java  // 你的视图对象
                |
                |-- security              // 安全配置
                |   |-- SecurityConfig.java  // Spring Security 配置
                |
                |-- service               // 业务逻辑层
                |   |-- YourService.java  // 你的业务逻辑接口
                |   |-- impl              // 业务逻辑实现类
                |       |-- YourServiceImpl.java  // 你的业务逻辑实现类
                |
                |-- utils                 // 工具类
                    |-- YourUtils.java   // 你的工具类

src
|-- main
    |-- resources
        |-- application.yml  // Spring Boot 应用配置文件
        |
        |-- application-dev.yml  // Spring Boot 应用配置文件本地环境(可选)
        |
        |-- application-prod.yml  // Spring Boot 应用配置文件正式环境(可选)
        |
        |-- static                  // 静态资源文件夹(如 CSS、JS 文件等)
        |
        |-- templates               // 模板文件夹(如 Thymeleaf 模板等,可选)
        |
        |-- mapper                  // MyBatis Mapper XML 文件夹
        |   |-- YourMapper.xml      // 你的 MyBatis Mapper XML 文件
        |
        |-- sql                     // 存放 SQL 脚本文件夹
        |   |-- schema.sql          // 数据库结构定义脚本
        |   |-- data.sql            // 数据初始化脚本

文章来源:https://blog.csdn.net/m0_48927448/article/details/135445401
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。