
spring
文章平均质量分 62
shuangyue
这个作者很懒,什么都没留下…
展开
-
spring AbstarctApplicationContext类中refresh代码分析
Spring容器启动的整个过程实际上就包含在AbstractApplicationContext的refresh方法中public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { /*原创 2013-02-17 16:41:25 · 2064 阅读 · 0 评论 -
Spring事务分析(1)--统一事务接口
1 Spring事务操作接口为了一统百花齐放的事务江湖,spring抽取了各种类型事务的共同部分,抽象成极为方便的事务操作接口。在spring的事务管理中主要涉及到下面的三个接口。其中PlatformTransactionManager抽取了事务管理过程中的整个流程最顶层的操作接口。它的定义如下:public interface PlatformTransactionM原创 2013-05-27 21:02:14 · 1416 阅读 · 0 评论 -
spring AOP的几种方式及实现原理分析
在基础的IOC内核之上,spring提供了强大的aop功能,最常用的有4种方式:1. 基于ProxyFactoryBean代理的方式,这种方式适合于对单个bean进行aop配置。这种方式的使用主要是采用IOC中提供的FactoryBean借口无缝的与IOC容器进行对接。具体参考Spring AOP之基于ProxyFactoryBean的代理2.基于AbstractAutoP原创 2013-03-04 13:13:58 · 1601 阅读 · 0 评论 -
xmlBeanDefinitionReader解析xml的过程
解析xml文件本身是一种比较枯燥的事情,这里只给出解析的基本过程,具体细节部分不予给出。类图结构:流程:原创 2013-05-27 21:10:31 · 1052 阅读 · 0 评论 -
BeanFactory相关后置处理接口
1. PropertyPlaceholderConfigurer 和PropertyOverrideConfigurer1.1 类的功能PropertyPlaceholderConfigurer这个类是用于将外部指定properties文件中的变量值替换到配置文件中属性定义的占位符中。PropertyOverrideConfigurer与PropertyPlaceholderCon原创 2013-02-28 09:01:00 · 923 阅读 · 0 评论 -
Spring AOP中涉及到以下一些基本概念
JoinPoint:从单词意思理解为:连接点,是的,它是程序在执行过程中可以被外部程序可以织入的点,它可以是方法执行前,方法执行后等,理论上讲,程序执行过程中的任何一个点都应该可以成为一个织入点。Pointcut:程序运行过程中既然有这么多织入点,那么如何定位我们比较感兴趣的一下点呢?PointCut实际上是对织入点的表述,通过PointCut可以指定一组我们感兴趣的织入点,它定义了相应的原创 2013-02-28 17:22:55 · 728 阅读 · 0 评论 -
Spring Bean实例化过程(2)
Spring中bean的实例化的总的入口都是getBean方法具体的实现是在AbstractBeanFactory中。1.bean实例化的总体逻辑getBean->doGetBean,最终的逻辑是在doGetBean中doGetBean的大体逻辑归纳如下:转换bean名字 if(原生bean实例已经实例化){ 判断该bean是否是Factor原创 2013-02-17 17:16:53 · 6804 阅读 · 0 评论 -
Spring初始化之扩展xml配置文件
在spring2.0之后支持xml schema的方式扩展xml的配置。这样对于一些常用的属性较多的bean的配置,可以采用这种方式进行简化要使用这种方式,只需要做以下几件事情:1.定义xml schema文件(.xsd格式)2.实现NamespaceHandler接口,将Xml Element元素转换为BeanDefinition,并注册到BeanDefinitionRe原创 2013-02-26 09:02:09 · 1696 阅读 · 0 评论 -
Spring AOP之基于ProxyFactoryBean的代理
ProxyFacotryBean的方式实际上相当于Proxy+FactoryBean,适合于对单个bean的aop代理。1. 使用举例: jianchi 26 Custom string property value com.mycompany.Person myAdvisor原创 2013-03-04 13:18:45 · 1825 阅读 · 0 评论 -
Spring AOP之基于AbstractAutoProxyCreator的自动代理
当系统比较复杂,或者中需要进行aop进行织入的bean较多时,简单采用ProxyFacotryBean无疑会增加很多工作量,同时由于要从ProxyFactoryBean获得代理对象,也会使应用和Spring之间的耦合度增加,并且很多时候可维护性不强,譬如,我们需要给bean名字满足“*service”的bean每个方法增加事务功能,如果采用ProxyFacotryBean必须为每个以service原创 2013-03-04 13:32:50 · 13162 阅读 · 1 评论 -
Spring AOP之PointCut
实际上,AOP的JointPoint可以有多种类型,但是Spring目前只支持方法级别的JoinPoint,(Keep It Simple,Stupid)。Spring中定义了org.springframework.aop.PointCut作为切入点的顶级接口,它的定义如下:public interface Pointcut { ClassFilter getClassFilter原创 2013-03-04 13:09:43 · 896 阅读 · 0 评论 -
Spring Bean实例化过程(1)
Spring容器启动和初始化过程实际上可以分为两个阶段,第一个阶段是容器的初始化,包括容器的创建,bean配置文件读取,解析和BeanDefinition的生成及注册。第二个阶段是bean的实例化,从beanDefinition到bean实例的生成,包括aop的切入等。ApplicationContext context = new ClassPathXmlApplicationContext原创 2013-02-17 16:59:38 · 1856 阅读 · 0 评论