Spring Boot 基本配置之依赖管理starter pom
摘要:在SpringBoot快速搭建中搭建了一个没有任何功能的项目,查看其pom.xml文件: 项目pom.xml文件有两个核心依赖,分别是spring-boot-starter-parent和spring-boot-starter。仔细观察可知spring-boot-starter-parent中有版本
阅读全文
posted @
2024-03-30 20:21
池塘里洗澡的鸭子
阅读(202)
推荐(0) 编辑
Spring Boot基本配置之定制Banner
摘要:在SpringBoot快速搭建中已经使用了Spring Boot框架,在启动的时候会有一个默认的启动图案如下: 这个图案是可以修改为自定义项目定制的Banner,具体操作如下: 1、在src/main/resources下新建一个banner.txt。 2、通过https://patorjk.com
阅读全文
posted @
2024-03-30 18:29
池塘里洗澡的鸭子
阅读(149)
推荐(0) 编辑
Spring EL和资源调用
摘要:Spring EL——Spring表达式语言,支持在xml和注解中使用表达式,类似与JSP的EL表达式语言。其主要在注解@Value的参数中使用表达式。使用过程中涉及调用各种资源的情况,所谓资源就是普通文件、网址、配置文件、系统环境变量等。 下面示例使用@Value调用各种资源: 一、基于配置文件
阅读全文
posted @
2024-03-29 14:25
池塘里洗澡的鸭子
阅读(23)
推荐(0) 编辑
SpringMVC对 Restful ⻛格请求⽀持
摘要:rest⻛格请求是什么样的呢? RESTful ⻛格 URL:互联⽹所有的事物都是资源,要求URL中只有表示资源的名称,没有动词。 RESTful⻛格资源操作:使⽤HTTP请求中的method⽅法put、delete、post、get来操作资源。分别对 应添加、删除、修改、查询。不过⼀般使⽤时还是
阅读全文
posted @
2024-03-28 19:12
池塘里洗澡的鸭子
阅读(6)
推荐(0) 编辑
关于Spring+的测试
摘要:使用了Spring+的产品,默认需要使用集成测试了。Spring通过Spring TestContext Framework对集成测试提供顶级支持,其不依赖于特定的测试框架。下面示例使用了Spring+中不同产品的测试: 1、使用了Spring,参考Spring配置之常用配置概述中关于Profile
阅读全文
posted @
2024-03-25 20:06
池塘里洗澡的鸭子
阅读(12)
推荐(0) 编辑
SpringMVC中的拦截器Interceptor实现
摘要:之前的文章介绍过两个拦截器(分别参考MyBatis功能点之二(2):从责任链设计模式的角度理解插件实现技术和Spring AOP之源码分析)。本文介绍的拦截器实现与它们有何异同呢? 在Spring MVC拦截器(Interceptor)使用中已知实现了HandlerInterceptor接口,MVC
阅读全文
posted @
2024-03-23 11:43
池塘里洗澡的鸭子
阅读(21)
推荐(0) 编辑
实现一个自定义MVC
摘要:在Spring核心思想之 AOP:在自定义容器基础上实现AOP功能的容器上实现类似SpringMVC的功能。先分析下SpringMVC功能,在Spring MVC快速搭建初体验中: 1、web.xml配置的功能被实现了WebApplicationInitializer的类替代,即不用解析web.xm
阅读全文
posted @
2024-03-21 15:52
池塘里洗澡的鸭子
阅读(7)
推荐(0) 编辑
Spring MVC快速搭建
摘要:使用maven框架构建Spring MVC项目,工具idea2023.2,jdk17,tomcat10。(之前使用tomcat9,与jdk17不兼容导致项目失败。在这个过程中失败很多次,有各种各样的原因,分别找到原因解决。) 参考之前一篇文章Spring Boot Web项目整合jsp页面访问(非w
阅读全文
posted @
2024-03-21 11:45
池塘里洗澡的鸭子
阅读(9)
推荐(0) 编辑
Spring AOP之源码分析
摘要:在研究@Enable*注解的应用之:声明式事务@EnableTransactionManagement详解源码时,配置中context装置了一个TransactionInterceptor的bean。对这个类比较好奇因为Interceptor,因为MyBatis功能点之二(1):MyBatis提供的
阅读全文
posted @
2024-03-19 19:28
池塘里洗澡的鸭子
阅读(6)
推荐(0) 编辑
Spring高级特性@Enable*注解的应用之:计划任务和多线程
摘要:Spring高级特性之三:@Enable*注解的工作原理和@Enable*注解的应用之:声明式事务@EnableTransactionManagement详解中对于@EnableXXX相关应用已有总结: 1)@EnableXXX启动XXX应用,比如@EnableTransactionManageme
阅读全文
posted @
2024-03-18 20:29
池塘里洗澡的鸭子
阅读(11)
推荐(0) 编辑
七、策略模式
摘要:在深入理解Spring声明式事务时其框架涉及到该种模式的应用。策略模式的目的就是解决繁琐的ifelse判断,如下: 测试: 测试结果: 在测试案例中,使用Context类将不同运算全部创建了一遍,实际还是有使用者控制具体操作——就是使用者进行了ifelse的选择,如果有更多操作代码就得更改代码,并没
阅读全文
posted @
2024-03-15 13:05
池塘里洗澡的鸭子
阅读(6)
推荐(0) 编辑
Spring 高级特性之二:后置处理器PostProcessor深入理解
摘要:在Spring生命周期管理之总结中测试案例的基础上再增加点私货,研究下Spring中的PostProcessor。尽管在Spring 高级特性之二:处理器Processor中已得出相关结论,研究的都是已有框架的操作,此处可以通过添加自定义postProcessor对后置处理与生命周期之间的关系进行更
阅读全文
posted @
2024-03-15 00:54
池塘里洗澡的鸭子
阅读(28)
推荐(0) 编辑
Spring生命周期管理之总结
摘要:Spring生命周期管理之SmartLifecycle,LifecycleProcesso接口详述中跟踪调试深入理解了Spring生命周期管理的一种方式。当然Spring提供了不止这一种方式的生命周期的管理,比如Spring配置之常用配置概述中就有关于bean生命周期init和destroy配置说明
阅读全文
posted @
2024-03-15 00:11
池塘里洗澡的鸭子
阅读(26)
推荐(0) 编辑
Spring核心思想之 AOP:AOP如何影响DI并引入三级缓存解决DI中涉及代理的问题
摘要:Spring中AOP的实现与在Spring核心思想之 AOP:在自定义容器基础上实现AOP功能中实现的自定义AOP一样,采用后置处理器方式。在Spring的核心思想之DI:详解Spring DI循环依赖实现机制文中末尾提到了一个问题,为什么是三级缓存而不是二级。 下面示例AOP是如何影响DI的? A
阅读全文
posted @
2024-03-13 15:12
池塘里洗澡的鸭子
阅读(30)
推荐(0) 编辑
Spring核心思想之 AOP:在自定义容器基础上实现AOP功能
摘要:在Spring核心思想之 AOP:基础概念及注解式AOP初体验中对AOP的基本概念及使用有了初步的了解。本文仿Spring自定义后置处理器、注解等,在Spring的核心思想之IOC:仿Spring自定义一个实现IOC的容器的基础上实现自定义的AOP功能。 aop相关目录: 在IOC容器的自定义实现中
阅读全文
posted @
2024-03-13 12:51
池塘里洗澡的鸭子
阅读(10)
推荐(0) 编辑
Spring的核心思想之IOC:仿Spring自定义一个实现IOC的容器
摘要:IoC Inversion of Control (控制反转/反转控制),是⼀个技术思想而不是⼀个技术实现。它描述的是Java开发领域对象的创建,管理的问题 ——传统开发⽅式:⽐如类A依赖于类B,往往会在类A中new⼀个B的对象,而在 IoC思想下开发⽅式:使用者不⽤⾃⼰去new对象了,由IoC容器
阅读全文
posted @
2024-03-12 16:20
池塘里洗澡的鸭子
阅读(46)
推荐(0) 编辑
三(2)、MyBatis基础配置之映射文件Mapper.xml(均为单表查询示例)
摘要:一)动态if 需求:多条件组合查询。 二)动态foreach 需求:多值查询。 三)动态抽取
阅读全文
posted @
2024-03-10 17:09
池塘里洗澡的鸭子
阅读(9)
推荐(0) 编辑