Spring框架
文章平均质量分 96
pdai
10+,海归,外资100强,专家研究员
展开
-
[推荐]深入浅出学习Spring框架系列
本系列主要介绍Spring框架整体架构,Spring的核心IOC,AOP的案例和具体实现机制;以及SpringMVC框架的案例和实现机制。原创 2022-07-07 08:04:25 · 153 阅读 · 0 评论 -
Spring框架系列(14) - SpringMVC实现原理之DispatcherServlet处理请求的过程
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析。本文是第二篇:DispatcherServlet处理请求的过程的源码解析。...原创 2022-07-06 07:35:32 · 369 阅读 · 0 评论 -
Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析。本文是第一篇:DispatcherServlet的初始化过程的源码解析。...原创 2022-07-05 07:25:48 · 381 阅读 · 0 评论 -
Spring框架系列(12) - Spring AOP实现原理详解之JDK代理实现
JDK动态代理是有JDK提供的工具类Proxy实现的,动态代理类是在运行时生成指定接口的代理类,每个代理实例(实现需要代理的接口)都有一个关联的调用处理程序对象,此对象实现了InvocationHandler,最终的业务逻辑是在InvocationHandler实现类的invoke方法上。jdk代理不需要任何依赖。定义实体User被代理的类和接口接口如下实现类如下:JDK代理类代理类如下:使用代理启动类中指定代理目标并执行。简单测试我们启动上述类main 函数,执行的结果如下:JDK原创 2022-07-04 07:42:12 · 160 阅读 · 0 评论 -
Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现
我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理。原创 2022-07-02 10:54:45 · 396 阅读 · 0 评论 -
Spring框架系列(10) - Spring AOP实现原理详解之AOP代理的创建
同时我们也总结了Spring AOP初始化的过程,具体如下:创建代理的方法是postProcessAfterInitialization:如果bean被子类标识为代理,则使用配置的拦截器创建一个代理wrapIfNecessary方法主要用于判断是否需要创建代理,如果Bean能够获取到advisor才需要创建代理获取所有的Advisor我们看下获取所有advisor的方法getAdvicesAndAdvisorsForBean通过findEligibleAdvisors方法获取advisor, 如果获原创 2022-07-01 07:22:00 · 163 阅读 · 0 评论 -
Spring框架系列(9) - Spring AOP实现原理详解之AOP切面的实现
本文主要介绍Spring AOP原理解析的切面实现过程(将切面类的所有切面方法根据使用的注解生成对应Advice,并将Advice连同切入点匹配器和切面类等信息一并封装到Advisor,为后续交给代理增强实现做准备的过程)...原创 2022-06-30 07:26:05 · 323 阅读 · 0 评论 -
Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等)
上文,我们看了IOC设计要点和设计结构;以及Spring如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的;容器中存放的是Bean的定义即BeanDefinition放到beanDefinitionMap中,本质上是一个`ConcurrentHashMap`;并且BeanDefinition接口中包含了这个类的Class信息以及是否是单例等。那么如何从BeanDefinition中实例化Bean对象呢,这是本文主要.....原创 2022-06-29 05:52:58 · 129 阅读 · 0 评论 -
Spring框架系列(7) - Spring IOC实现原理详解之IOC初始化流程
上文,我们看了IOC设计要点和设计结构;紧接着这篇,我们可以看下源码的实现了:Spring如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的原创 2022-06-28 08:42:53 · 147 阅读 · 0 评论 -
Spring框架系列(6) - Spring IOC实现原理详解之IOC体系结构设计
在对IoC有了初步的认知后,我们开始对IOC的实现原理进行深入理解。本文将帮助你站在设计者的角度去看IOC最顶层的结构设计。原创 2022-06-27 08:44:50 · 215 阅读 · 0 评论 -
Spring框架系列(4) - 深入浅出Spring核心之面向切面编程(AOP)
本节将在此基础上进一步解读AOP的含义以及AOP的使用方式;后续的文章还将深入AOP的实现原理:AOP最早是AOP联盟的组织提出的,指定的一套规范,spring将AOP的思想引入框架之中,通过预编译方式和运行期间动态代理实现程序的统一维护的一种技术,我们将记录日志功能解耦为日志切面,它的目标是解耦。进而引出AOP的理念:就是将分散在各个业务逻辑代码中相同的代码通过横向切割的方式抽取到一个独立的模块中!OOP面向对象编程,针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。而原创 2022-06-23 19:40:17 · 117 阅读 · 0 评论 -
Spring框架系列(3) - 深入浅出Spring核心之控制反转(IOC)
本节将在此基础上进一步解读IOC的含义以及IOC的使用方式;后续的文章还将深入IOC的实现原理:如果你有精力看英文,首推 Martin Fowler大师的 Inversion of Control Containers and the Dependency Injection pattern;其次IoC作为一种设计思想,不要过度解读,而是应该简化理解,所以我这里也整合了 张开涛早前的博客IoC基础并加入了自己的理解。Spring里面的bean就类似是定义的一个组件,而这个组件的作用就是实现某个功能的,这里所原创 2022-06-23 19:38:32 · 140 阅读 · 0 评论 -
Spring框架系列(2) - Spring简单例子引入Spring要点
上文中我们简单介绍了Spring和Spring Framework的组件,那么这些Spring Framework组件是如何配合工作的呢?本文主要承接上文,向你展示Spring Framework组件的典型应用场景和基于这个场景设计出的简单案例,并以此引出Spring的核心要点,比如IOC和AOP等;在此基础上还引入了不同的配置方式, 如XML,Java配置和注解方式的差异。......原创 2022-06-21 20:09:11 · 299 阅读 · 0 评论 -
Spring框架系列(1) - Spring和Spring框架组成
要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。曾经使用过EJB开发JAVA EE应用的人,一定知道,在EJB开始的学习和应用非常的艰苦,很多东西都不能一下子就很容易的理解。EJB要严格地实现各种不同类型的接口,类似的或者重复的代码大量存在。而配置也是复杂和单调,同样使用JNDI进行对象查找的代码也是单调而枯燥。虽然有一原创 2022-06-20 19:37:55 · 158 阅读 · 0 评论