当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/83517/

相关文章:

  • 压缩空气储能和释能阶段模型,附相关文档文献。 建立了压缩空气储能系统中的压缩机、换热器、储气罐...
  • 16. Qt深入 容器
  • 400亿美元骗局落幕,LUNA加密货币创始人被判15年!
  • 2026老年春晚怀化区域节目征集启动仪式在怀化学院举行
  • soular实战教程系列(1) - 安装与配备
  • 17. Qt深入 容器删除元素的异常处理
  • 251213一天不能就这样过去
  • 评估AI系统时如何减少标注工作
  • 香港就加密货币税收规则启动公众咨询
  • 为什么你的视觉AI项目总是耗时又低效?Florence-2-large-ft一站式解决方案
  • springboot公务员应届生复习备考平台_tm7d928l
  • C51_红外通信
  • Flutter 2025 安全加固指南:从代码混淆到数据加密,构建可信、合规、防逆向的移动应用安全体系
  • 5大优势解析:为什么art-design-pro成为现代后台管理的首选方案
  • 菜市场价格对比工具,输入蔬菜/肉类名称,显示周边三个菜市场的实时价格及距离,推荐性价比最高的购买地点。
  • 基于Dify/n8n/Coze的实时交友聊天系统解决方案V3
  • Flutter 2025 自动化测试全栈指南:从单元测试到 E2E,构建坚如磐石的高质量交付体系
  • Profiling 专项
  • 旧物改造灵感库,核心功能,分享旧物改造案例,如塑料瓶做花盆,旧衣服改围裙等,支持搜索改造类型,上传自己的作品,应用场景,喜欢动手的中老年人找改造灵感,废物利用省钱又环保。
  • 如何全面评估大语言模型:从测试基准到性能优化的完整指南
  • springboot公司人力资源管理系统_nvj0q68d-
  • Go 语言
  • 儿童护眼灯什么牌子的好?黑马顶流护眼灯揭秘,宝妈圈都在夸!
  • 如何完成一个方便简单的Arduino共阳极数码管实验(从0~9依次循环亮起)
  • **方言AI配音工具2025推荐,解锁多场景语音内容创作新体
  • **免费游戏角色AI配音软件2025推荐,适配独立开发者与小
  • 10分钟搞定HunyuanVideo部署:从零开始生成你的第一个AI视频
  • 基于php的幸运舞蹈工作室管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 从MinIO迁移实战指南:RustFS的平滑迁移步骤与风险控制
  • AI进化社MJStable diffusion绘画课