news 2025/12/28 1:49:49

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/25 15:17:34

柠檬 软件测试之python全栈自动化测试工程师第25期

在自动化测试领域&#xff0c;我们常常将接口自动化和 UI 自动化视为两个独立的“山头”。接口测试团队负责后端逻辑的验证&#xff0c;快而准&#xff1b;UI 测试团队负责用户流程的验证&#xff0c;直观但脆弱。然而&#xff0c;随着业务复杂度的提升&#xff0c;这种“各扫门…

作者头像 李华
网站建设 2025/12/23 13:08:33

基于php的微信小程序的学习交流平台系统(源码+lw+部署文档+讲解等)

课题介绍本课题聚焦学习交流场景的数字化需求&#xff0c;设计实现一套基于PHP后端与微信小程序前端的学习交流平台系统。随着移动学习热潮兴起&#xff0c;微信小程序凭借无需安装、触达便捷的优势&#xff0c;成为搭建轻量化学习场景的理想载体&#xff0c;而PHP语言成熟稳定…

作者头像 李华
网站建设 2025/12/25 9:37:11

springboot高校读书分享系统的设计与实现_34ur7fyk-

目录 已开发项目效果实现截图已开发项目效果实现截图开发技术系统开发工具&#xff1a; 核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底…

作者头像 李华
网站建设 2025/12/25 18:12:18

如何快速解锁RouterOS无限权限:MikroTikPatch的终极指南

想要免费体验RouterOS的全部高级功能吗&#xff1f;MikroTikPatch项目为你提供了一套完整的RouterOS权限解锁解决方案&#xff0c;支持x86、ARM和MIPS多种硬件架构&#xff0c;让网络管理员能够轻松管理设备权限和功能扩展。这个开源工具通过智能化的密钥生成和系统补丁&#x…

作者头像 李华
网站建设 2025/12/27 21:43:31

测试工程师的增值型职业休假策略:从技术深耕到跨界突破

重新定义职业休憩期 2025年的科技行业正经历着人工智能与自动化测试的深度融合&#xff0c;传统测试岗位面临价值重构。在这样的背景下&#xff0c;职业休假&#xff08;Sabbatical&#xff09;不再是简单的休息间隔&#xff0c;而应成为测试工程师实现技术迭代、能力扩展和职…

作者头像 李华