spring框架
文章平均质量分 85
让人又爱又恨的spring框架,只要认真研究就会发现
第一,它设计很精巧
第二,他不神秘
vcaml7717
不要辜负命运的托付
展开
-
Spring核心知识点总结
Spring框架日渐成熟,已经成为java开发中比不可少的部分,框架这东西我的理解里属于工具型应用,意味着如果没有大量实践之前之间研究理论 研究源码之类的 体会会很效率会很低,所以个人建议萌新先找个项目做一做,感受一下再过来看看理论性的东西。这一篇主要是做一个简单的总结,具体的源码解读会在其他篇章里面写。原创 2023-05-16 21:49:18 · 582 阅读 · 3 评论 -
【spring核心】Spring的事务传播机制
如果A中也有事务、B中也有事务,那么B会加入到A中去,变成一个事务,这时,要么都成功,要么都失败。被调用者B会以非事务方式运行(直接提交),如果当前有事务,也就是A中有事务,A会被挂起(不执行,等待B执行完,返回);如果A中有事务,则B方法的事务加入A事务中,成为一个事务(一起成功,一起失败),如果A中没有事务,那么B就以非事务方式运行(执行完直接提交);如果A中有事务,则B方法的事务加入A事务中,成为一个事务(一起成功,一起失败),如果A中没有事务,那么B就以非事务方式运行(执行完直接提交);原创 2023-06-07 04:17:12 · 93 阅读 · 0 评论 -
【spring核心】Spring中的事务控制和事务失效
READ_UNCOMMITTED(读取未提交):最低的隔离级别,允许事务读取未提交的数据,可能会导致脏读(Dirty Read)。:用于指定事务是否为只读事务。REQUIRED(默认值):如果当前存在事务,就加入到当前事务中,如果不存在事务,则创建一个新的事务。SUPPORTS:如果当前存在事务,就加入到当前事务中,如果不存在事务,则以非事务方式执行。:用于控制事务之间的隔离程度,即一个事务的操作对其他事务的可见性和影响。REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则挂起当前事务。原创 2023-06-04 20:52:31 · 90 阅读 · 0 评论 -
【spring核心】Bean的循环依赖和解决方案
这个很好理解 我们在bean的生命周期中说了bean实例化的时候 要注入属性值 这些属性可能就包括一些其他的bean这个很常见 比如你的一个bean里面 @autowired 注入了一些其他的bean但是A里面注入了B ,B里面又注入了A,这时候容器就犯难了 加载A的时候B还没好 加载B的时候A还没好。原创 2023-06-04 19:43:55 · 123 阅读 · 0 评论 -
【spring核心】Bean的生命周期
BeanPostProcessor的before()方法回调:在Bean的初始化之前,Spring容器会调用注册的BeanPostProcessor的before()方法。Aware接口属性注入:如果Bean实现了Spring提供的Aware接口(如ApplicationContextAware、BeanFactoryAware等),Spring容器会在属性填充后,通过相应的回调方法将相关的资源或容器注入到Bean中。然后执行bean的工厂后处理器:比如更改bean的作用域,做一些bean定义的拓展。原创 2023-06-04 19:17:25 · 90 阅读 · 1 评论 -
【spring核心】BeanFactory 和 ApplicationContext
这个系列 【spring核心】 分享一些spring核心的知识点和实践,主要是IOC和AOP现在框架越来越先进了 特别是springboot出现之后,很多底层的东西框架都帮我们做了,导致我们只能感知到表面的一些东西,用起来是很爽,但是用完之后我们还是要尝试学习一下底层的东西,这样可以让我们更深入的理解和体会。原创 2023-06-04 14:21:05 · 34 阅读 · 0 评论 -
吃透 Spring AOP (1.理解概念)
AOP,全称面向切面编程。它可以说是对面向对象OOP的思想升华。从总的理解来讲,AOP是横向对不同程序的抽象。这个思想要不断实践动手之后,才会有很深刻的理解。原创 2023-05-17 01:31:36 · 348 阅读 · 0 评论 -
吃透 Spring AOP (2.底层原理)
代理类实现的接口列表(注意是个列表 因为被代理类可能实现了多个接口)(这里就看出来了 jdk动态代理为什么必须实现接口,因为这里生成代理类的时候只能传接口)但是这个代理对象 还没有具体的对这个目标对象做什么增强了,它只是刚刚出生而已。包括动态代理代理的思想。它通过上面这个过程 生成了最终的FOO的代理对象。你的代理对象实现的接口 那个接口叫什么名字 获取到它 生成第二个参数。这个代理类 它相当于包裹主了 被代理类 然后对它进行前后加工。然后调用分派的一个类 在这个类里面 就封装具体的代理增强操作。原创 2023-05-17 02:44:10 · 193 阅读 · 0 评论