spring
江左盟主
这个作者很懒,什么都没留下…
展开
-
spring事务管理机制
Sprin事务管理机制 什么是事务? 事务的好处? 如何使用事务? 1、认识事务的本身对于一个软件系统来说,需要相应的数据资源(如数据库,文件系统等)来保存系统状态,在对系统资源进行操作的时候,必须要保证系统资源处于一种“正确”的状态,因此我们需要对这些操作进行一些必要的限定来保证提供的完整性,而事务就是以可控的方式对数据库资源进行访问的一组操作。为保证在事务的原创 2017-04-08 21:24:17 · 708 阅读 · 0 评论 -
Spring aop概述-1
Spring aop概述 Aop是Aspect-Oriented Programming(面向切面编程)的简称,Aspect是一种新的模块机制,用来描述分散在对象、类或函数中的横切关注点。从关注点中分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使解决特定问题的代码从业务逻辑中独立出来,业务逻辑中的代码不再含有针对特定领域问题代码的调用,业务逻辑同特定领域问题的关系通过切面来封装原创 2017-07-18 23:31:39 · 298 阅读 · 0 评论 -
ProxyFactoryBean生成AopProxy代理对象-3
在Spring Aop的使用中,可以通过ProxyFactoryBean来配置目标对象和切面行为。在ProxyFactoryBean中,通过interceptorNames属性来配置已经定义好的通知器Advistor。虽然名字为interceptorNames,但实际上确实供Aop应用配置通知器的地方。在ProxyFactoryBean中,需要为target目标对象生成Proxy代理对象,从而为A原创 2017-07-18 23:45:00 · 707 阅读 · 0 评论 -
jdk动态代理生成代理对象源码分析-4
在分析JdkDynamicAopProxy类中的invoke方法之前,我们先看看如何实现jdk动态代理:1、目标类 StudentImplService.java2、目标类所实现的接口 IStudent.java3、日志类 LogImplService.java4、日志类所实现的接口 ILog.java5、代理对象生成类 MyInvocationHandler.java原创 2017-07-18 23:48:17 · 697 阅读 · 0 评论 -
JdkDynamicAopProxy-invoke方法-5
通过前面例子jdk动态代理生成代理对象的源码分析,已经可以很清楚的了解到代理对象是如何进行增强和回调的,接下来继续分析JdkDynamicAopProxy是如何进行回调的对目标对象进行增强的。同样,在JdkDynamicAopProxy中实现也了InvocationHandler接口中的invoke方法。在JdkDynamicAopProxy中生成代理对象时,通过调用Proxy.newProxyI原创 2017-07-18 23:52:42 · 2764 阅读 · 0 评论 -
4-IOC容器的初始化过程
1、IOC容器的初始化是由前面所介绍的refresh()方法来启动,这个方法标志着IOC容器的正式启动。具体的说,这个启动包括BeanDefinition的Resource定位、载入和注册三个基本过程。这里将三个基本过程进行分离,使得用户更加灵活地对这三个过程进行裁剪或扩展,定义出最合适自己的IOC容器的初始化过程。2、第一个过程式Resource定位过程,这个Resource定位指的是Bea原创 2017-05-09 01:15:30 · 295 阅读 · 0 评论 -
3-ApplicationContext应用场景及设计原理
ApplicationContext容器的应用场景ApplicationContext是一个高级形态意义的IOC容器,它不仅扩展了BeanFactory的基本IOC容器,还提供了以下附加功能:1)、支持不同的消息源。扩展了MessageSource接口,支持国际化的实现。2)访问资源。这一特性体现在对ResourceLoader和Resource的支持上,这样我们可以从不同的地方访问资原创 2017-05-09 01:14:46 · 686 阅读 · 0 评论 -
2-BeanFactory容器的设计原理
1、BeanFactory接口提供了使用IOC容器的规范。在这个基础上,Spring还提供了符合这个IOC容器的一些类实现供开发人员使用。下面以XmlBeanFactory的实例为例来说明简单IOC容器的设计原理。2、XmlBeanFactory设计的类继承关系 3、通过上面的继承体系,可以看出,作为一个简单IOC容器系列最底层实现的XmlBeanFactory,与我们在Spring应原创 2017-05-09 01:13:29 · 411 阅读 · 0 评论 -
1-IOC容器的主要接口设计
1、IOC容器的主要接口设计: 1.1从接口BeanFactory到HierachicalBeanFactory,再到ConfigurableBeanFactory,是一条主要的BeanFactory设计路径。BeanFactory:定义基本容器规范,包括基本方法getBean();HierachicalBeanFactory:继承自BeanFactory接口,增加getBeanP原创 2017-05-09 01:08:53 · 641 阅读 · 0 评论 -
8-spring源码3.2.18解读+spring技术内幕(IOC容器的依赖注入(反射+递归调用))
1、导读以上对IOC容器的初始化过程做了详细的分析,这个初始化过程完成的主要工作是在IOC容器中建立BeanDefinition数据映射。再次过程中并没有对Bean依赖关系进行注入,接下来将分析一下IOC容器是怎么样对Bean的依赖关系进行注入的。假设当前IOC容器已经载入了用户定义的Bean信息,开始分析依赖注入的原理。首先,注意到依赖注入的过程是用户第一次向IOC容器索要Bean时触发原创 2017-07-20 15:34:19 · 437 阅读 · 0 评论 -
7-spring源码3.2.18解读+spring技术内幕(关于BeanDefinition的注册)
1、导读前面已经分析过BeanDefinition在IOC容器中载入和解析过程。在这些动作完成以后,用户定义的BeanDefinition信息已经在IOC容器内建立起了自己的数据结构以及相应的数据表示,但此时这些数据还不能够提供IOC容器直接使用,需要在ioc容器中对这些BeanDefinition数据进行注册。这个注册为ioc容器提供了更友好的使用方式,在DefaultListableBea原创 2017-07-20 15:31:58 · 406 阅读 · 0 评论 -
6-spring源码3.2.18解读+spring技术内幕(关于BeanDefinition的载入和解析)
1、导读在完成对代表BeanDefinition的Resource定位的分析后,下面来了解整个BeanDefinition信息的载入过程。对Ioc容器来说。这个载入过程相当于把定义的BeanDefinition在IOC容器中转化成一个Spring内部表示的数据结构。IOC容器对Bean的管理和依赖注入功能的实现,是通过对其持有的BeanDefinition进行各种相关操作来完成的。这些Bean原创 2017-07-20 15:31:01 · 361 阅读 · 0 评论 -
5-spring源码3.2.18解读+spring技术内幕(关于BeanDefinition的定位)
spring源码3.2.18解读+spring技术内幕(关于BeanDefinition的定位)1、导读以编程的方式使用DefaultListableBeanFactory时,首先定义一个Resource来定位容器使用的BeanDefinition。这时使用的是ClassPathResource,这意味着Spring会在类路径中去寻找以文件形式存在的BeanDefinition信息。C原创 2017-05-11 01:52:21 · 567 阅读 · 0 评论 -
配置ProxyFactoryBean-2
配置ProxyFactoryBean 从这部分开始,将进入到Spring Aop的实现部分,在分析Spring Aop的实现原理中,主要以ProxyFactoryBean的实现作为例子和实现的基本线索进行分析。这是因为ProxyFactoryBean是在Spring ioc环境中创造aop应用的底层方法,也是最灵活的方法,Spring通过它完成了对Aop使用的封装。以ProxyFact原创 2017-07-18 23:34:11 · 550 阅读 · 0 评论