自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Spring Boot学习随笔- 集成MyBatis-Plus(三)自定义SQL、分页实现(PaginationInterceptor )、更新和删除详细方法

这篇文章涵盖了自定义SQL、分页、更新和删除等操作。在自定义SQL部分,提及了配置mapper文件的路径以及对应的XML配置文件示例,以及如何在测试中调用自定义的方法。分页部分介绍了MyBatis-Plus中的物理分页和内存分页的区别,以及如何配置分页插件和进行分页查询。更新方法详解部分演示了不同方式的更新操作,包括根据ID更新、条件构造器更新、快速更新少量字段以及使用Lambda表达式进行更新等。最后,删除操作展示了根据ID删除、根据Map条件删除、批量删除以及根据条件构造器删除等操作方法。

2024-01-03 08:00:36 1458

原创 Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

介绍了MyBatis-Plus中的各种查询方法和条件构造器的使用。包含了普通查询和QueryWrapper进行条件查询,以及针对不同情况的查询示例,包括使用like、lt、gt等操作符以及逻辑操作符如or、and。此外,还提到了使用selectMaps返回特定字段的数据,以及针对特定需求的SQL语句编写,例如使用groupBy和having等聚合函数。最后还介绍了使用Lambda表达式构建查询条件的方式。

2023-12-30 17:46:31 3358 2

原创 Spring Boot学习随笔- 集成MyBatis-Plus(一),第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

MyBatis-Plus是致力于简化MyBatis使用的增强工具,旨在提高效率、简化开发流程。其主要特性包括CRUD操作的增强功能,如批量插入和链式查询;条件构造器,通过链式调用构建复杂查询条件;强大的分页插件支持多数据库分页查询;内置代码生成器减少重复CRUD代码编写;以及乐观锁插件确保数据一致性。SpringBoot集成MyBatis-Plus的第一个程序示例了如何创建项目并引入必要依赖(包括热部署、MySQL、lombok和Web),配置数据源和实体类,以及实现Mapper接口。测试部分展示了如何通过

2023-12-29 23:46:53 1332

原创 Spring Boot学习随笔- Jasypt加密数据库用户名和密码以及解密

第十九章介绍了Jasypt,用于在Spring Boot应用中加密敏感信息。通过jasypt-spring-boot-starter依赖项,配置加密算法和密码,并使用StringEncryptor加密和解密。加密后的信息可嵌入属性文件中,提高数据库密码等敏感信息的安全性。加解密基于密钥,建议将密钥通过安全方式加载,确保信息安全。 Jasypt确保敏感数据在存储和传输中更为安全。

2023-12-28 23:44:40 1501

原创 Spring Boot学习随笔- 后端实现全局异常处理(HandlerExceptionResolver),前后端解决跨域问题(@CrossOrigin(局部解决)自定义跨域配置类(全局))

第十七章着重讲解了异常处理的方法。传统单体架构下,全局异常处理类通过实现HandlerExceptionResolver接口实现异常的统一处理,可以根据不同异常返回不同的错误页面。但在前后端分离的开发中,使用@ControllerAdvice和@ExceptionHandler注解更为方便。@ControllerAdvice用于修饰类,定义全局性的处理器方法;@ExceptionHandler用于修饰方法,捕获特定类型的异常并进行处理。第十八章介绍了CORS(跨源资源共享),用于解决跨域请求问题。同源策略

2023-12-27 16:25:14 797

原创 Spring Boot学习随笔- RestFul API(@RestController、@PathVariable),ResponseEntity+HttpStatus作为返回值

这一章讲述了RESTful API的基本概念和设计原则。通过比较传统方式和RESTful方式操作资源的URL定义,能明显看出RESTful的简洁和意图明确。RESTful的API设计使用不同的HTTP方法来操作资源,比如GET用于查询、POST用于新增、PUT用于更新全部字段、PATCH用于更新部分字段、DELETE用于删除。在第一个RESTful风格的API示例中,使用了@RestController注解,标志着这是一个RESTful风格的控制器,只返回JSON或XML格式的数据。通过不同的HTTP方法(

2023-12-26 18:46:13 546 1

原创 Spring Boot学习随笔- 第一个Thymeleaf应用(基础语法th:,request、session作用域取值)

这一章介绍了Thymeleaf,一种现代化的Java模板引擎,用于Web和独立环境,与Spring Boot紧密集成。它适用于有无网络的场景,让美工和程序员分别在浏览器和服务器上查看静态与动态页面。笔记详细讲解Thymeleaf的配置、语法,如th:text提交基本数据、th:each穿越集合,以及通过th:if条件展示内容。还提及了获取对象和集合类型、session作用域数据和项目资源地址的方法。这些技巧有助于简化模板设计和高效数据绑定,使 Web 开发更高效。

2023-12-24 22:35:03 1840

原创 Spring Boot学习随笔- 拦截器实现和配置(HandlerInterceptor、addInterceptors)、jar包部署和war包部署

这份笔记介绍了拦截器的作用与特点,类似于JavaWeb中的Filter,拦截器在Spring MVC中负责请求预处理和后处理,限定于Controller请求且能中断请求轨迹。实现拦截器需实现HandlerInterceptor接口,包含preHandle、postHandle和afterCompletion等方法,分别处理请求前、后及完成后的逻辑。配置拦截器需要创建配置类,通过addInterceptors方法将拦截器添加到InterceptorRegistry中,并可通过order参数调整执行顺序。另外

2023-12-21 19:50:18 2659

原创 Spring Boot学习随笔- 文件上传和下载(在线打开、附件下载、MultipartFile)

这章内容详细地介绍了文件上传和下载的实现过程。文件上传涉及前端页面、Controller 方法和配置修改,其中前端页面通过表单的提交方式和enctype属性设置来实现文件上传,而后端的 Controller 方法则通过接收 MultipartFile 类型的参数来处理上传的文件,并将文件保存到服务器指定的位置。另外,也介绍了如何修改上传文件大小限制和解决在 Jar 包部署 Linux 上绝对路径上传文件失效的问题。对于文件下载,通过 Controller 方法响应前端的请求,实现文件的下载功能。Contr

2023-12-20 21:16:27 1581

原创 Spring Boot学习随笔- 实现AOP(JoinPoint、ProceedingJoinPoint、自定义注解类实现切面)

这篇笔记深入介绍了AOP(面向切面编程),这个技术可以在代码中以模块化的方式实现横切关注点。它解决了业务层代码中存在的问题,如额外功能代码的冗余和每个方法都需要书写一遍额外功能代码的情况。AOP在Spring中的实现主要依靠Aspect切面、Advice通知和Pointcut切入点的组合。Advice有不同的类型,如@Before、@AfterReturning、@AfterThrowing、@After、@Around,每种通知类型有不同的执行策略和用途。这份笔记提到了JoinPoint参数,这是用于

2023-12-19 17:09:47 1222

原创 Spring Boot学习随笔- JSP小项目-员工管理系统(验证码生成、增删改查)

实现一个登录注册,增删改查功能的系统,使用jsp作为前端,包括验证码生成的系统

2023-12-18 15:31:25 572

原创 Spring Boot学习随笔- 本地化测试(@SpringBootTest)、热部署(spring-boot-devtools)、日志Logback常用级别使用、指定包级别输出

在第七章中,介绍了本地测试的方式,使用了@SpringBootTest注解来启动本地Spring环境,方便进行功能测试,并且提到了spring-boot-devtools依赖可以帮助实现自动重启,增加了开发效率,讲解了热部署的概念和使用。引入spring-boot-devtools依赖并在IDEA中进行相应的设置,使得在开发过程中能够实现代码和资源文件的实时更新,提高了开发效率。最后,第九章着重介绍了日志处理,特别是Logback框架。讲解了日志的级别、根全局日志、指定包的日志级别配置以及生成日志文

2023-12-11 23:59:17 1104

原创 Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

介绍了如何集成JSP模板到Spring Boot项目中。通过引入JSP依赖、配置JSP视图解析器以及指定JSP访问目录,实现了JSP的集成和访问。以及展示了整合MyBatis框架的步骤。首先介绍了引入MyBatis相关依赖的过程,然后讲解了@MapperScan注解的使用,用于扫描DAO接口所在包并将其交给工厂创建对象。随后展示了整合MyBatis的相关配置,包括数据源、mapper文件位置和实体类别名的指定。最后,提供了实体类、Service、DAO和Mapper文件的示例,展示了如何通过这些组件实现对数

2023-12-09 17:45:18 1452

原创 Spring Boot学习随笔- @SpringBootApplication详解、加载绝对路径配置文件、工厂创建对象(@ConfigurationProperties、@Value)

介绍了@SpringBootApplication的详解,解释了该注解是由多个注解组成的组合注解,并介绍了其中的元注解,如@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。同时展示了在内嵌服务器中传递参数进行测试,以及配置文件拆分和加载外部配置文件的方法。第四章内容围绕工厂创建对象展开。演示了通过配置文件注入基本类型和对象,并通过@Value注解以及@ConfigurationProperties注解获取这些属性。提供了配置元数

2023-12-08 23:33:14 1168

原创 Spring Boot学习随笔-第一个SpringBoot项目快速启动(org.springframework.boot、@SpringBootApplication、application.yml)

快速启动SpringBoot项目,包括引入spring-boot-starter-parent,@SpringBootApplication入口类注解、自动保存刷新pom.xml

2023-12-07 23:59:09 590

原创 Spring Boot学习随笔-SpringBoot的引言,回顾传统SSM开发

首先回顾了传统SSM开发步骤,介绍了项目实现过程,从需求分析、设计、编码到测试的流程。展示了一个简单的员工信息管理功能,并提供了环境搭建及相关依赖配置的详细代码和配置。接着,提出了SSM开发存在的问题,如配置繁琐和版本兼容性。第二章介绍了Spring Boot的引言,解释了Spring Boot的概念、作用以及优势,着重强调了其约定优于配置的原则。指出Spring Boot简化了项目的配置和开发流程,减少了繁琐的XML配置,提供了自动配置和默认约定。

2023-12-06 23:13:26 1220

原创 Spring MVC学习随笔-Ajax集成(JSON格式返回数据)、拦截器(MyInterceptor)、全局异常处理(GlobalExceptionResolver)

这份笔记详细介绍了Spring MVC中的关键概念。在Ajax集成部分,通过引入相关依赖和开发控制器,展示了如何以JSON格式返回数据。特别强调了日期格式修正,使用@JsonFormat注解来规范日期显示。拦截器章节深入探讨了拦截器的作用、特点和开发过程。与AOP进行对比,并解释了其在请求处理阶段的专注任务。通过实例展示了拦截器的测试结果,并对执行顺序进行了说明。全局异常处理机制部分解决了控制器存在的问题,详细阐述了异常处理器的实现。强调了基于不同业务异常跳转到不同页

2023-12-05 20:47:50 1469 1

原创 Spring MVC学习随笔-文件下载和上传(配置文件上传解析器multipartResolver)

文件上传允许用户将本地文件传输到服务器,文件下载则允许用户从服务器下载文件到本地。在Spring MVC中,文件上传需要页面表单、后端配置解析器,并在控制器中处理上传逻辑。对文件重命名、按日期管理文件、设置文件大小限制是常见做法。文件下载需要页面提供下载链接,在后端设置响应类型和文件头信息,将文件内容输出到响应流中。解决中文文件名乱码需对文件名进行UTF-8编码。

2023-12-03 23:57:29 1332 1

原创 Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(二)视图模板、静态资源访问

第二部分主要涵盖了 SpringMVC 中作用域处理,介绍了 Request 作用域、Session 作用域和应用作用域的处理方式,以及 @ModelAttribute 注解的使用和 ModelAndView 的使用方法;最后,探讨了静态资源的处理方式,包括使用 DefaultServlet 或者 default-servlet-handler 进行静态资源的访问。这一章涉及了多个方面,从控制器跳转到作用域处理,最后到静态资源管理,为了更好地管理和优化 SpringMVC 项目提供了丰富的思路和解决方案。

2023-12-02 10:46:36 931

原创 Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(一)

主要探讨了SpringMVC中的流程跳转和不同形式的控制器之间的跳转方式。首先回顾了JavaWeb中流程跳转的核心代码和页面跳转方式,并展示了在Web.xml中添加Servlet以及执行这些方式的示例。随后,介绍了Spring MVC中的四种跳转形式,包括控制器到JSP页面的forward和redirect,以及控制器之间相互跳转的方式。最后,讨论了SpringMVC中作用域处理的方式,包括使用Model和ModelMap进行作用域处理,避免了与ServletAPI耦合的问题。

2023-11-30 23:59:42 1180

原创 Spring MVC学习随笔-控制器(Controller)开发详解:调用业务对象、父子工厂拆分(applicationContext.xml、dispatcher.xml)

这部分笔记深入探讨了SpringMVC控制器开发。主要涵盖了请求参数处理、业务对象调用和页面跳转,展示了整合SSM时的核心思路和具体的编码示例。讨论了父子工厂拆分、配置文件的分离,解决了父子容器问题,确保事务在子容器中配置正确。提供了完整的XML配置和Java代码示例,展示了如何通过不同的容器管理不同层的对象,实现了整洁可维护的项目结构。

2023-11-28 21:14:13 693

原创 Spring MVC学习随笔-控制器(Controller)开发详解:接受客户端(Client)请求参数

这段笔记详细介绍了SpringMVC控制器开发的不同方面,主要围绕控制器如何接收客户端请求参数展开讨论。它包括了不同接收请求参数的方式,从基于Servlet API的方式到简单变量、POJO对象、一组简单变量、一组POJO对象的接收方式,以及@RequestParam注解的使用方法。还涉及了中文请求参数的乱码问题、SpringMVC的类型转换器和自定义类型转换器,以及接收其他请求数据的方法,如动态参数收集、接收Cookie数据、接收请求头数据等。

2023-11-27 11:07:21 865 1

原创 Spring MVC学习随笔-第一个Spring MVC程序(父子项目结构、Tomcat配置、ViewResolver)

主要介绍了第一个Spring MVC程序的环境搭建、父子项目结构、Tomcat配置、配置文件。对DispatcherServlet的讲解,2个核心类型:1.RequestMappingHandlerMapping 2.RequestMappingHandlerAdapter,视图解析器ViewResolver解决了路径耦合的问题。

2023-11-26 10:49:48 1649 1

原创 Spring MVC学习随笔-Spring MVC介绍

介绍了传统的MVC模式存在的问题,以及Spring MVC模式的三种开发方式

2023-11-25 13:49:01 1008

原创 Spring5学习随笔-纯注解开发、YML详解

介绍了Spring开发中的四维一体开发思想,包括基于schema、注解、原始

2023-11-24 20:15:10 981 1

原创 Spring5学习随笔-高级注解(@ComponentScan、@Configuration.....),替换XML配置文件

介绍了Spring的高级注解,包括@Configuration注解替代XML配置文件、@Bean注解创建和注入Bean、@ComponentScan注解进行注解扫描,配置Bean的底层实现原理等

2023-11-23 11:51:33 1037

原创 Spring5学习随笔-基础注解编程

主要介绍了Java的Spring框架中的注解编程。第一章首先介绍了注解编程的概念,即在类或方法上添加特定的注解来完成特定功能的开发。然后解释了为什么要学习注解编程,主要原因是注解开发方便且与Spring框架的发展潮流相符合。接着介绍了注解的作用,包括替换XML配置和替换接口实现调用双方的契约性。第四节讲述了Spring注解的发展历程,从Spring2.x开始支持注解编程,到Spring3.x彻底替换XML,最后到Spring4.x和SpringBoot的普及推广注解编程。

2023-11-22 12:10:52 109

原创 Spring5学习随笔-事务属性详解(@Transactional)

事务是保证业务操作完整性的一种数据库机制,具有原子性、一致性、隔离性和持久性(ACID)的特点。在Java中,可以通过JDBC和MyBatis来控制事务,底层都是通过Connection对象完成的。Spring使用AOP的方式进行事务开发,通过将事务的额外功能封装在DataSourceTransactionManager中实现。事务的切入点可以在类上或方法上进行注解,通过@Transactional注解来指定事务的应用范围。

2023-11-21 11:54:58 384 1

原创 Spring5学习随笔-整合MyBatis(持久层)、连接池、Mapper文件

主要涵盖了Spring与持久层技术的整合,以及Spring与MyBatis的整合。第一章介绍了为什么需要将Spring与持久层技术整合,以及Spring可以与哪些持久层技术进行整合。第二章详细介绍了Spring与MyBatis的整合思路、开发步骤和编码实例,并解决了MyBatis开发过程中存在的问题。

2023-11-20 23:21:19 245 1

原创 Spring5学习随笔-AOP底层实现(JDK、CGlib)、实现切面(@Aspect)

主要涵盖了Java的Spring框架中AOP(Aspect Oriented Programming)编程的概念和底层实现原理。在AOP编程中,切面是基本单位,由切入点和额外功能组成。与面向对象编程(OOP)和面向过程编程(POP)相比,AOP通过代理类为原始类增加额外功能,有利于原始类的维护。学习笔记中还介绍了AOP编程的开发步骤和底层实现原理,包括JDK动态代理和CGlib动态代理的创建方式,以及Spring工厂如何加工创建代理对象。此外,学习笔记还介绍了基于注解的AOP编程的开发步骤和细节,包括切入点

2023-11-19 15:57:44 197

原创 Spring5学习随笔-AOP系列Spring动态代理

MethodBeforeAdvice接口作用:额外功能运行在原始方法执行之前,进行额外功能操作;- MethodInterceptor(方法拦截器)methodinterceptor接口:额外功能可以书写在原始方法之前、之后;切入点决定了额外功能加入的位置/方法1. execution() 切入点函数2. * *(..) 切入点表达式

2023-11-18 11:55:19 172 1

原创 Spring5学习随笔-生命周期、自定义类型转换器、后置处理Bean

生命周期的3个阶段:创建阶段-初始化阶段-销毁阶段;类型转换器作用:Spring通过类型转换器把配置文件中字符串类型的数据,转化成了对象中成员变量对应类型的数据,进而完成了注入;后置处理Bean :BeanPostProcessor接口作用:对Spring工厂所创建的对象,进行再次加工

2023-11-17 11:59:05 124 1

原创 Spring5学习随笔-IOC(反转控制)、DI(依赖注入)和创建复杂对象

复杂对象:指的就是不能直接通过new构造方法创建的对象(Connection,SqlSessionFactory)< bean id = " account " scope = " singleton | prototype " class = " com.baizhi.scope.Account " > singleton:只会创建一次简单对象 默认值prototype:每一次都会创建新的对象。

2023-11-16 12:05:34 158 1

原创 Spring5学习随笔-Set注入详解和构造注入

通过Spring工厂及配置文件,为所创建对象的成员变量赋值为成员变量提供set get方法配置文件中进行注入(赋值)

2023-11-15 12:03:17 212

原创 Spring5学习随笔-Spring5的第一个程序(环境搭建、日志框架整合)

回答:理论上 是的,但是有特例:实体对象(entity)是不会交给Spring创建的,它是由持久层框架进行创建,因为它需要数据,数据来源于数据库,而Spring没有数据。Spring与日志框架进行整合,日志框架就可以在控制台中,输出Spring框架运行过程中的一些重要的信息。作用:Spring提供的ApplicationContext这个工厂,用于对象的创建。1.ApplicationContext工厂的对象占用大量内存(指的是下面的实现类)好处:便于了解Spring框架的运行过程,有利于程序的调试。

2023-11-14 10:49:02 215

原创 Spring5学习随笔-Spring5的基本介绍、工厂设计模式

Spring 是一个轻量级的JavaEE解决方案,整合众多优秀的设计模式轻量级1.对于运行环境是没有额外要求的。2.可以选择开源的 tomcat reson jetty3.也可以运行在 收费的 weblogic websphere解决方案spring解决了 javaEE分层开发当中的每一层问题。springmvc解决控制层 Controller的问题Aop技术解决了Service 事务控制、日志处理的问题。通过持久化解决方案跟mybatis做整合解决DAO的问题。

2023-11-13 16:34:39 704

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除