news 2026/5/13 7:23:24

Spring 开发小白学习过程中常用通用配置文件,即拿即用!(持续更新中)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring 开发小白学习过程中常用通用配置文件,即拿即用!(持续更新中)

目录

  • XML配置
    • Mybatis
    • Maven XML配置
    • Lombok
    • JWT令牌
    • 参数校验:jakarta.validation
    • MyBatis-Plus Boot3
  • yml 配置
    • 应用名称配置
    • 数据库连接配置(MySQL)
    • MyBatis 核心配置
    • 日志配置

XML配置

Mybatis

namespace:替换为自己的Mapper接口全类名,例如com.hr.mybatis.mapper.UserInfoXmlMapper

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="你的Mapper接口全类名"><!-- 中间放可根据需求增删/修改SQL标签(如动态SQL、联表查询等)--></mapper>

Maven XML配置

Lombok

Lombok的核心作用是通过注解简化冗余代码编写

  1. 自动生成通用方法:如@Getter/@Setter生成属性的getter/setter方法,@ToString生成 toString (),@EqualsAndHashCode生成相等性判断方法,@NoArgsConstructor/@AllArgsConstructor生成无参 / 全参构造器;
  2. 简化特殊场景代码:@Data 整合上述常用注解(Getter/Setter/ToString/EqualsAndHashCode/RequiredArgsConstructor),一键生成核心方法;@Slf4j自动创建日志对象,无需手动声明;@Builder快速实现建造者模式,简化对象构建;
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency>

JWT令牌

JWT令牌的核心作用:实现跨域 / 分布式系统中的身份认证、信息传递(如用户身份、权限);

<!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-api --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-api</artifactId><version>0.11.5</version></dependency><!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-impl --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-impl</artifactId><version>0.11.5</version><scope>runtime</scope></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-jackson</artifactId><!-- or jjwt-gson if Gson is preferred --><version>0.11.5</version><scope>runtime</scope></dependency>

参数校验:jakarta.validation

标准化的参数校验框架,核心作用是通过注解快速实现参数合法性校验,替代手动 if-else 判断

  1. 核心方式:通过注解标注在实体类属性、方法参数 / 返回值上(如 @NotNull、@NotBlank、@Min、@Max、@Email 等),定义校验规则;
  2. 执行校验:结合 Spring 等框架时,通过 @Valid/@Validated 触发校验,校验不通过时抛出 ConstraintViolationException 异常,可统一捕获返回提示;
  3. 核心优势:标准化、注解化、可扩展(支持自定义校验注解),简化参数校验逻辑,提升代码整洁度;
  4. 常用注解:@NotNull(非 null)、@NotBlank(字符串非空且非空白)、@Size(字符串 / 集合长度范围)、@Pattern(正则匹配)等。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

MyBatis-Plus Boot3

MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,MyBatis-Plus Boot3是适配 Spring Boot 3.x 生态的版本(基于 Jakarta EE 规范,替代原 Java EE),核心是在 MyBatis 基础上做无侵入增强,大幅简化 CRUD 开发。

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.15</version></dependency>

yml 配置

spring:application:name:xxx-xxx-xxxdatasource:# 配置数据库url:jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=falseusername:rootpassword:123456driver-class-name:com.mysql.cj.jdbc.Drivermybatis:# 如果是使用Mybatis-Plus更改为mybatis-plusmapper-locations:classpath:mapper/*.xmlconfiguration:# 配置打印 MyBatis 执行的 SQLlog-impl:org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case:true#自动驼峰转换logging:file:name:spring-blog.log

应用名称配置

spring:application:name:xxxx

作用:定义 Spring Boot 应用的名称,核心用途包括:

  • 微服务架构中(如 Spring Cloud)作为服务注册的标识;
  • 日志、监控等组件中区分不同应用;
  • 配置加载、多环境隔离时的基础标识。

数据库连接配置(MySQL)

datasource:# 配置数据库url:jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=falseusername:rootpassword:123456driver-class-name:com.mysql.cj.jdbc.Driver

注意:数据库登录账号 / 密码,示例为本地默认的 root/123456,生产环境需替换为安全的账号密码
java_blog_spring:要连接的数据库名
127.0.0.1:3306:数据库服务器地址 + 端口(本地默认 3306);

MyBatis 核心配置

mybatis:# 如果是使用MyBatis-Plus更改为mybatis-plusmapper-locations:classpath:mapper/*.xml#指定 MyBatis Mapper XML 文件的存放路径configuration:# 配置打印 MyBatis 执行的 SQLlog-impl:org.apache.ibatis.logging.stdout.StdOutImpl#指定 SQL 日志实现:map-underscore-to-camel-case:true#自动驼峰转换

日志配置

作用:指定 Spring Boot 日志的输出文件名称,默认生成在项目根目录下(也可指定绝对路径,如 name: /logs/spring-blog.log)。

logging:file:name:spring-blog.log
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 18:06:15

16. Qt深入 容器

1. QVector 数组我们都非常熟悉&#xff0c;数据在内存中是连续分布的。这种结构的缺点是当元素很多时&#xff0c;除了在结尾添加一个新元素以及修改某个元素值之外&#xff0c;其他相关的函数&#xff08;如最开头插入&#xff09;执行起来会随元素增多而变慢。因为主要是保证…

作者头像 李华
网站建设 2026/4/30 23:21:43

Go 语言

安装go语言 https://golang.google.cn/dl/

作者头像 李华
网站建设 2026/5/13 7:17:00

**方言AI配音工具2025推荐,解锁多场景语音内容创作新体

方言AI配音工具2025推荐&#xff0c;解锁多场景语音内容创作新体验在短视频、有声书、本地化内容营销日益火爆的2025年&#xff0c;据《2025年中国数字语音产业发展报告》显示&#xff0c;超过65%的创作者开始尝试使用方言内容来提升作品的亲切感与地域穿透力。然而&#xff0c…

作者头像 李华
网站建设 2026/5/5 5:45:46

JConsole 中 GC 时间统计的含义

要理解 JConsole 中 GC 时间统计的含义,需结合 垃圾收集器类型​ 和 统计维度​ 拆解: 1. 关于 PS MarkSweep 上的 12.575 秒 (16 收集) PS MarkSweep:是 JVM 中用于清理 老年代(PS Old Gen)​ 的垃圾收集器(属于 Full GC 收集器,触发时会暂停所有应用线程,即 STW)。…

作者头像 李华
网站建设 2026/5/11 17:34:15

自由职业与咨询:测试工程师的另一种活法

在数字经济的浪潮中&#xff0c;软件测试工程师的角色正从传统的全职雇佣模式&#xff0c;向更灵活的自由职业与咨询路径扩展。随着人工智能、云计算和敏捷开发的普及&#xff0c;测试行业对专业化、独立服务的需求日益增长。本文基于2025年的行业现状&#xff0c;探讨测试工程…

作者头像 李华
网站建设 2026/5/1 0:41:50

告别手动更新烦恼:Latest让你的macOS应用始终保持最新状态

告别手动更新烦恼&#xff1a;Latest让你的macOS应用始终保持最新状态 【免费下载链接】Latest A small utility app for macOS that makes sure you know about all the latest updates to the apps you use. 项目地址: https://gitcode.com/gh_mirrors/la/Latest 你是…

作者头像 李华