- 博客(91)
- 收藏
- 关注
原创 Java日志框架
Java日志系统概述与最佳实践 本文系统介绍了Java生态中的日志框架体系,主要包括JUL、Log4j、Logback和Log4j2等主流日志框架,以及JCL和SLF4J两种日志门面技术。文章详细阐述了日志的概念、分类(调试日志和系统日志)及其在系统开发中的重要作用,比较了各日志框架的特点和演进历史,重点分析了JUL的组件架构和使用方式。同时介绍了日志门面的设计理念和优势,推荐采用SLF4J+Logback/Log4j2的组合方案作为最佳实践,实现日志输出与业务代码的解耦,提高系统的可维护性和扩展性。通过配
2025-12-18 09:17:14
724
原创 如何解决mysql的模糊查询%a%的问题
摘要:解决MySQL模糊查询"%a%"无法使用索引的问题,采用全文索引优化方案。在项目中结合MyBatis-Plus的LambdaQueryWrapper,当用户名查询条件非空时,同时使用like和MATCH AGAINST语句进行检索,其中MATCH AGAINST语句采用布尔模式匹配"a*"以提高查询效率。其他字段仍保持常规like查询方式。该方案有效解决了全模糊查询性能问题,同时保持原有分页功能不变。通过这种优化方式,既保证了查询结果的准确性,又提升了查询效率。
2025-10-02 08:33:07
243
原创 为什么 Spring和IDEA 都不推荐使用 @Autowired 注解
IDEA对@Autowired字段注入警告而对@Resource不警告的原因在于两者对框架的耦合程度不同。Spring官方推荐构造器和Setter注入,字段注入存在与IoC容器紧耦合、不可测试等问题。@Autowired是Spring专有注解,绑定特定框架,更换容器时将失效;而@Resource是JSR-250标准注解,容器需兼容该标准,更换容器仍可工作,耦合度更低。虽然字段注入方便,但官方建议优先使用构造器或Setter注入以提高可维护性和可测试性。
2025-09-19 11:07:07
360
1
原创 Servlet封装:简化Web开发的反射妙招
本文介绍了一种基于反射机制的Servlet封装方法,通过创建BaseServlet基类来简化Web开发中的Servlet处理。BaseServlet利用反射动态调用子类方法,支持请求转发(forward)和重定向(redirect)操作。具体实现包括:1)通过action参数确定调用的方法;2)处理不同返回结果类型;3)支持文件上传功能,使用@MultipartConfig注解实现。示例展示了HelloServlet继承BaseServlet后的使用方法,以及文件上传和图片回显的实现过程。该方案有效减少了S
2025-08-12 10:49:00
249
原创 Servlet与JSP入门:Jakarta开发实战指南
本文介绍了基于Jakarta EE的Servlet和JSP技术实现的学生管理系统开发教程。项目采用JDK17、Tomcat10和MySQL8环境,使用Maven构建,主要技术栈包括Servlet 6.0、Bootstrap模态框、JSTL等。文章详细讲解了从项目搭建到功能实现的完整过程,包括:1)基础Servlet封装和JSP页面开发;2)通用DAO层设计;3)用户管理模块(增删改查、分页);4)文件上传功能实现;5)Excel导出功能。项目通过BaseServlet封装请求处理逻辑,采用泛型DAO简化数据
2025-08-11 13:56:53
914
原创 windows下Minio的使用
本文介绍了MinIO分布式对象存储系统的安装配置与SpringBoot整合方案。主要内容包括:1)MinIO特性及Windows环境部署方法;2)基本概念(存储桶、对象)及操作说明;3)SpringBoot项目集成方案,包含关键配置类、控制器实现及Maven依赖配置;4)实现了文件上传、访问URL生成和删除等核心功能的REST接口。文中提供了完整的配置示例和代码片段,并附有项目源码地址。该方案展示了如何通过MinioClient与SpringBoot应用深度集成,构建基于MinIO的对象存储服务。
2025-08-11 08:51:30
542
原创 SpringAI 学习笔记
随着AI的发展,我们的编程也发生了改变,那么AI给我们带来了哪些改变和提升呢?本文就Spring AI框架引入大模型来看一下基于SpringAI框架下的大模型开发。
2025-04-18 10:43:44
541
原创 Spring MVC 如何实现RESTFull的 delete和put提交
Springmvc处理RESTFull的get、post、delete和put请求
2022-08-06 20:09:52
450
原创 springboot+jpa+thymeleaf (分页+模糊+CRUD)
依赖:<?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/mav..
2022-04-20 17:29:13
647
原创 springmvc 的异常处理
springmvc的异常处理有局部异常和全局异常。一、局部异常(只针对当前的Controller)实现步骤:创建自定义异常类:package com.song.ssm.util;public class MyException extends RuntimeException { public MyException() { } public MyException(String message) { super(message); }.
2022-04-08 18:08:31
520
原创 Spring5 mybatis3.5 整合Thymeleaf
页面效果:项目环境:idea 2019.3 mysql jdbc 8.0 maven架构: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..
2022-04-02 20:17:46
1532
原创 Mybatis3.5 教学笔记-2 一对一的实现
一个人有一个身份证,一个身份证属于一个人。定义表如下:SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for t_person-- ----------------------------DROP TABLE IF EXISTS `t_person`;CREATE TABLE `t_person` ( `pid` int(11) NOT NULL AUTO_INCREMENT, `
2022-03-30 20:21:42
1286
原创 Spriong Cloud 解决需要数据库配置的问题
在Spring Cloud 微服务程序中,有些模块是不需要配置数据库(或依赖)的,如何解决:
2021-11-04 21:02:54
452
1
原创 spring cloud mongodb 生产者、消费者实现crud
生产者部分:实体类:@Data@Documentpublic class Groups implements Serializable { @Id private String gid; private String gname;}@Document @Data public class User implements Serializable { @Id //mongo自动创建id private String id; @Inde
2021-11-01 22:05:26
225
原创 sprint boot 使用JPA 的ManyToMany 的问题
今天在项目中使用jpa的manyToMany时遇到一个问题。 进行多对多查询时,抛出一个异常:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.example.jpa_two.entity.User.roles, could not initialize proxy - no Session,根据问题来看应当是没有session,(应该是懒加载的问题),添加如下配置
2021-10-25 22:45:04
413
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅