自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java依赖注入设计模式

通过java依赖注入设计模式实现将依赖注入从编译期转移到运行时,将依赖注入和使用分离,避免客户端进行繁琐的依赖初始化操作。以此降低代码耦合度,提高扩展性和可维护性。

2023-02-19 12:49:34 145 2

原创 SpringDataJDBC一对多关系处理

参考文献:https://spring.io/blog/2018/09/24/spring-data-jdbc-references-and-aggregates1、多对多关系处理场景介绍:一个人可以有多个父母(当然一般情况只有两个,此处只为模拟场景,不考虑实际情况),反过来,一个父亲或者母亲可以有多个孩子。这种情况需要创建三个实体类,分别是Person、Parent、还有关系映射实体类PersonRef。1.1、实体结构设计/** * Person实体类 */@Data@NoArgsC

2021-05-10 20:53:54 842

原创 SpringBoot----自动配置原理

一、SpringBoot自动配置原理1、@SpringBootApplication组合注解1.1、@SpringBootConfiguration和@Configuration的作用是一样的,只不过此注解一般作用在启动类上,说明启动类本身就是一个配置类。1.2、 @ComponentScan指定扫描包1.3、@EnableAutoConfiguration@AutoConfigurationPackage 导入自己写的组件导入了Registrar组件,然后利用Registrar

2021-05-08 19:31:26 119

原创 Spring声明式事务

个人学习笔记摘要:特别申明:此篇文章基本上相当于对Spring官方文档中重要信息的翻译,主要供自己以后查看方便。一、Spring声明式事务的原理声明式事务是由AOP代理模式实现的。transactional advice是通过元数据驱动的,包括XML类型的元数据或者基于注解的原数据。The most important concepts to grasp with regard to the Spring Framework’s declarative transaction support ar

2021-05-08 01:57:26 331

原创 MySQL事务隔离级别的理解

这篇文章介绍事务隔离级别以及脏读、不可重复读和幻读等概念。1、Read Uncommited将事务隔离级别设置为Read Uncommited时,事务A可以读取到事务B尚未提交的数据。这种事务隔离级别无法解决脏读、不可重复读和幻读。脏读:事务B更新了一条记录,如果事务B因为各种异常最后事务提交失败,从而导致事务A读取到的数据是无效临时数据的情况。不可重复读:事务B更新了一条记录,如果事务B提交成功,事务A再次读取数据,与第一次读取到的结果不一样的情况。幻读:事务B插入或者删除了某一条记录,

2021-05-06 19:57:07 45

原创 关于Spring AOP的解读

AOP是面向切面编程,是对OOP(面向对象编程)的一种补充。AOP是一种编程思想,并不是Spring家自创的,Spring AOP 只是AOP的一种实现,还有很多其他的AOP框架。可能也是因为这个原因,你很难从Spring官网中找到对AOP的具体定义,我反正是没有找到,官网中只有一些与AOP相关的术语的介绍。硬要说有,只有这么一句话:Aspect-oriented Programming (AOP) complements Object-oriented Programming (OOP) by prov

2021-05-06 17:10:02 70

原创 net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “NOT“ “NOT“

mybatis-plus使用条件构造器构造notin条件时,没有判空和判断集合的长度抛出异常:/*if (attrIds!=null && attrIds.size()>0){ wrapper.notIn("attr_id",attrIds);}*/net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "NOT" "NOT" at line 3, column 17...

2021-04-12 14:16:39 1414 1

原创 HttpMessageNotReadableException

前端发送get请求携带参数,后台用@RequetBody接收抛出异常:HttpMessageNotReadableException参数需要用:@RequestParam来接收的。

2021-04-11 12:50:43 810

原创 java.lang.IllegalStateException

前端像后端发送delete请求时,由于没有在参数前加@RequestBody抛出异常:java.lang.IllegalStateException

2021-04-11 10:30:55 225

原创 使用jQuery和Ajax实现二级联动

1、html部分<div class="form-group col-sm-2"> <select class="form-control" id="p-category"> <option>一级分类</option> </select></div><div class="form-group col-sm-2"> <select class="form-control" id="c-category"

2020-11-16 00:00:51 134

原创 关于IoC的解读

一、什么是IOC(控制反转)?IOC是对象创建以及管理的一种容器。二、为什么叫这个乍看让人难以理解的名字呢?传统创建对象是由程序本身控制的,使用Spring后创建对象由Spring的控制,程序如果需要使用对象,不需要自己创建了,直接在Spring提供的对象容器中获取,前提是你已经在该容器中控制创建了对象。站在Spring的角度来看,我控制了创建对象的这个过程站在程序的角度来看,我原来可以自己控制对象的创建,现在Spring给我创建好了,我直接拿来使用就可以了。角色从生产者变为消费者,1、传统创建

2020-09-22 15:48:03 137

原创 mybatis----子查询和联表查询的对比(按照结果嵌套处理、按照查询嵌套处理)

mybatis----子查询和联表查询的对比

2020-09-20 21:39:59 1571 2

空空如也

空空如也

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

TA关注的人

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