![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 82
spring学习
还你一梦
路漫漫其修远兮,吾将上下而求索!
展开
-
Spring事务-01
整体Spring的声明式事务不适合简单的一样,Exception会令事务失效,事务捕捉不到事务。事务能捕捉到的异常是:RunningException这里亲自验证过,Exception确实会令事务失效。这里就要熟悉Java异常架构。图来源地址...原创 2021-04-18 14:34:23 · 98 阅读 · 0 评论 -
Spring AOP原理学习-看书记录笔记
1. 整体2. 重点2.1 重要概念切点通知代理拦截2.2 动态代理原理记住一点,AOP的核心技术就是动态代理AOP用的是代理,管理代理。java有自带的代理机制,还有Cglb代理机制。这两种机制Aop都在应用,Java代理主要运用于接口,而Cglb主要是类。2.3 invoke()方法逻辑分析代理中最主要的方法就是invoke()方法了,那就介绍一下该方法的逻辑。获取目标源TargetSource赋值代理目标对象Target获取代理对象类获取代理对象参数原创 2021-02-26 12:02:49 · 102 阅读 · 1 评论 -
FileSystemXmlApplicationContext源码解析
整体介绍重点源码介绍创建容器启动方法/** * Create a new FileSystemXmlApplicationContext with the given parent, * loading the definitions from the given XML files. * @param configLocations array of file paths * @param refresh whether to automatically refresh the原创 2021-02-19 10:17:42 · 427 阅读 · 0 评论 -
AbstractXmlApplicationContext源码解析
1. 整体认识有上图可以看到整体的结构,AbstractXmlApplicationContext继承了AbstractRefreshbleConfigApplicationContex类。方便的ApplicationContext实现的基类,它从包含XmlBeanDefinitionReader的bean定义的XML文档中提取配置。子类只需要实现getConfigResources和/或getConfigLocations方法。此外,它们可能会覆盖getResourceByPath钩原创 2021-02-19 09:47:42 · 199 阅读 · 0 评论 -
AbstractRefreshableConfigApplicationContext源码解析
1. 整体认识AbstractRefreshableApplicationContext子类,用于添加对指定配置位置的通用处理。直白一点就是加载容器刷新是的配置文件的通用操作。至于加载配置文件的通用操作,看下图,该类的两个子类,都是基于xml配置文件,将会有各自的定制的读取配置文件操作,所以该类提供的是读取配置文件通用操作,提供拓展点。该类继承了AbstractRefreshableApplicationContext和实现了BeanNameAware和InitializingBean接口。来了解原创 2021-02-18 22:28:14 · 248 阅读 · 0 评论 -
AbstractRefreshableApplicationContext源码解析
整体认识先来看一下整体架构图。从该类的名字可以看出来,是为了容器刷新而存在的该类名称:可刷新的ApllicationContext容器抽象类。每次刷新容器要干的事就是重新将bean注册到容器中,至于以哪样的策略来实现bean注册,这要具体看Spring如何实现的。其子类唯一实现的方法就是loadBeanDefinitions()方法。具体认识1. 属性@Nullable // 是否允许bean定义被同名的bean定义覆盖 private Boolean allowBeanDefiniti原创 2021-02-18 18:35:09 · 226 阅读 · 0 评论 -
AutowireCapableBeanFactory分析
整体分析认知这个接口的契机是在阅读ApplicationContext中有一个获取该接口实例的方法,当时对该方法不理解,就深入了解了一下。类注解解读该类继承来BeanFactory,是它的拓展接口,能够被那些支持自动装配功能的Bean工厂实现。前提希望现有的Bean实例公开此功能。该接口不能在常规的应用代码程序中使用其他框架集成代码能够使用该接口来链接和填充Spring无法控制其生命周期的现有Bean实例。也就是整合在Spring中的第三方框架可以通过该接口来相互调用未被Spring管原创 2021-02-08 15:56:47 · 2271 阅读 · 0 评论 -
AbstractApplicationContext类源码解析
1. 整体认识先贴一张整体结构图:在之前的文章解析了ApplicationContext和ConfigurableApplicationContext,现在再来了解这个类就清晰很多ApplicationContext和ConfigurableApplicationContext源码解析AbstractApplicationContext是ConfigurableApplicationContext接口的抽象实现,同事继承了默认资源解析类。其实在ConfigurableApplicati原创 2021-02-08 15:52:35 · 663 阅读 · 3 评论 -
ApplicationContext和ConfigurableApplicationContext解析
1. ApplicationContext该类提供了高级IOC规范其中有几个注意点:从ListableBeanFactory接口继承来的:用于访问应用组件的工厂方法从ResourceLoader接口继承来的:用通用的方式加载文件资源从ApplicationEventPublisher接口继承来的:注册和发布事件从MessageSource接口继承来的:处理消息,支持国际化从父应用上下文定义的在子上下文中将始终保持优先。public interface ApplicationContext原创 2021-02-03 22:13:18 · 7802 阅读 · 9 评论 -
Spring IOC源码分析
IOC容器设计与实现重点知识BeanFactory定义了IOC基本功能,这也就是面向接口编程,对于对IOC功能的增强,是通过集成BeanFacroty的拓展接口来实现的。这里的整体设计可以借鉴的,这就是典型的面向接口编程和装饰者模式。在Spring中所有的bean都是由BeanFactory进行管理的,FactoryBean是产生或者粉饰对象生成的的工厂beanBeanFactory路线BeanFactory是实现IOC的基本形式,也就是最原始的IOC规范。Applicat原创 2021-02-01 20:39:56 · 419 阅读 · 4 评论 -
Spring IOC设计原理入门
整体认识Spring的目标是使用者感到简单,降低负载和降低框架的入侵性怎么实现这两个目标呢?方法就是IOC和AOPIOC,容器技术方案就是很好的降低了框架的入侵性,让应用不依赖于Spring的api。Java EE的服务都被抽象到IOC中,并通过AOP进行有效的封装。由容器来管理这些复杂的依赖关系而不是开发者。所为依赖关系,通俗一点就是类与类之间的关系,你在某个类中创建了另一个类的实例,那么就建立了两个类之间的关系。有了容器技术,这两者之间的关系都交给了IOC管理,这就是IOC的精华所在。问题原创 2021-01-30 16:53:14 · 105 阅读 · 0 评论