路漫漫,水迢迢

八十一难拦路七十二变制敌

Spring学习笔记——Spring事务只对运行时异常回滚

我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚,岂不知Spring的事务默认只有在发生运行时异常即:RunTimeException时才会发生事务,如果一个方法抛出Exception或者Checked异常Spring的事务并不会回滚。 下面我们来看看异常的分类,异常一般分为Che...

2015-08-20 18:34:58

阅读数:3332

评论数:0

Spring学习笔记——Spring如何装配各种类型的属性以及实际应用

在类中的定义的属性我们可以通过Spring的容器给他们赋值,Spring这种功能在我们实际中有什么作用呢?举个我在工作中实际用的例子吧, 如果我们把数据库的连接配置文件加密了,我们就不能直接加载使用了,这时候我们需要先把配置文件进行解密,然后把解密之后的值赋给一个常量类,这时候我们通过加载这个常...

2015-07-20 22:43:16

阅读数:696

评论数:0

Spring学习笔记——Spring依赖注入原理分析

我们知道Spring的依赖注入有四种方式,分别是get/set方法注入、构造器注入、静态工厂方法注入、实例工厂方法注入 下面我们先分析下这几种注入方式 1、get/set方法注入public class SpringAction { //注入对象springDao pr...

2015-07-18 23:55:58

阅读数:2045

评论数:0

Spring学习笔记——Spring实例化Bean的三种方式

在我们的项目中我们可以不用struts、可以不用Hibernate等,但几乎每一个项目都用到了spring了,这是为什么呢? 一、为何使用Spring 1、降低组件之间耦合,实现软件各层之间的解耦 2、可以使用容器提供的众多服务,如:事务管理、消息服务等。当我们使用容器管理事务时,开发人员就...

2015-07-13 22:08:57

阅读数:719

评论数:0

Spring学习笔记——Sprin管理Bean的原理

当我们使用Spring时候在Xml文件中通过<bean id="service" class="com.finance.service.AmountServiceImpl" />配置就可以操作该Bean的属性和方法,那么Spring到底是如何实现...

2015-07-13 13:36:10

阅读数:1365

评论数:0

Spring学习笔记——为何使用Spring

在我们的项目中我们可以不用Hibernate、可以不用Struts、可以不用ibatis但是我们几乎每一个项目都用到了Spring,这是为什么?下面让我们分析下Spring有何优点: 1、降低组件之间耦合,实现软件各层之间的解耦 2、可以使用容器提供的众多服务,如:事务管理、消息服务等。当我们...

2015-07-13 13:21:29

阅读数:903

评论数:0

Spring学习笔记——Spring的自动装配

自动装配,官方给出的定义是这样: Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自 动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于 autowire可以针对单...

2015-07-08 17:47:30

阅读数:455

评论数:0

Spring学习笔记——Spring中lazy-init与abstract详解

Spring的懒加载的作用是为了避免无谓的性能开销,就是当真正需要数据的时候才去执行数据的加载操作。不仅仅在Spring中,我们在实际的编码过程中也应该借鉴这种思想,来提高我们程序的效率。 首先我们看一段配置文件:<beans> <bean> &l...

2015-07-08 10:27:20

阅读数:2941

评论数:0

Spring学习笔记——Spring中的BeanFactory与FactoryBean

BeanFactory BeanFactory是Spring的org.springframework.beans.factory下的一个接口,是Spring IOC所遵守的基本编程规范,他的实现类有DefaultListableBeanFactory、XmlBeanFactory、Applica...

2015-07-07 16:04:10

阅读数:1103

评论数:0

Spring技术内幕:Spring AOP的实现原理(五)

7、Advice通知的实现 AopProxy代理对象生成时,其拦截器也一并生成。下面我们来分析下Aop是如何对目标对象进行增强的。在为AopProxy配置拦截器的实现中,有一个取得拦截器配置过程,这个过程由DefaultAvisorChainFactory实现的,而这个工厂类负责生成拦截器链,在...

2015-07-06 20:49:34

阅读数:1165

评论数:0

Spring技术内幕:Spring AOP的实现原理(四)

4、目标方法的调用 如果没有拦截器会对目标对象方法直接调用。对于JDKDynamicAopProxy代理对象是通过AopUtils使用反射机制实现的。在这个调用方法中首先得到调用方法的反射对象,然后使用invoke启动对方法反射对象的调用。源码如下: /** * Invoke t...

2015-07-04 23:53:13

阅读数:1230

评论数:0

Spring技术内幕:Spring AOP的实现原理(三)

生成SingleTon代理对象在getSingleTonInstance方法中完成,这个方法时ProxyFactoryBean生成AopProxy对象的入口。代理对象会封装对target目标对象的调用,也就是说针对target对象的方法调用行为会被这里生成的代理对象所拦截。具体的生成过程是首先读取...

2015-06-27 16:18:10

阅读数:1219

评论数:1

Spring技术内幕:Spring AOP的实现原理(二)

**二、AOP的设计与实现 1、JVM的动态代理特性** 在Spring AOP实现中, 使用的核心技术时动态代理,而这种动态代理实际上是JDK的一个特性。通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性使通过Java Reflection API来完成...

2015-06-24 21:14:58

阅读数:1035

评论数:0

Spring技术内幕:Spring AOP的实现原理(一)

一、SpringAOP的概述 1、AOP概念 AOP是Aspect-Oriented Programming(面向切面编程)的简称。维基百科的解释如下: Aspect是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concern)。从关注点中分离出...

2015-06-23 16:09:07

阅读数:2217

评论数:2

Spring技术内幕:SpringIOC原理学习总结

前一段时候我把Spring技术内幕的关于IOC原理一章看完,感觉代码太多,不好掌握,我特意又各方搜集了一些关于IOC原理的资料,特加深一下印象,以便真正掌握IOC的原理。 IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。 Spring...

2015-06-23 09:59:08

阅读数:1927

评论数:2

Spring技术内幕——Spring Framework的IOC容器实现(五)(大结局)

这里通过使用BeanDefinitionResolver来对BeanDefinition进行解析,然后注入到property中。下面到BeanDefinitionValueResolver中看一下解析过程,以对Bean reference进行解析为例 /** * Resolve a...

2015-06-19 11:36:12

阅读数:1326

评论数:0

Spring技术内幕——Spring Framework的IOC容器实现(四)

前面分析了BeanDefinition在IOC容器中的载入和解析过程。在这些动作完成以后,用户定义的BeanDefinition信息已经在容器内建立起了自己的数据结构以及相应的数据表示,但此时这些数据不能供IOC容器直接使用,需要在IOC容器中对这些BeanDefinition数据进行注册。这个注...

2015-06-18 21:06:10

阅读数:876

评论数:0

Spring技术内幕——Spring Framework的IOC容器实现(三)

接上一篇的时序图。这里调用的loadBeanDefintions实际上是一个抽象方法,那么实际载入过程发生在哪里呢?在loadBeanDefintions中,初始化了读取器XMLBeanDefinitionReader,然后把这个读取器在IOC容器中设置好(过程和编程式使用XMLBeanFacto...

2015-06-17 21:04:39

阅读数:952

评论数:0

Spring技术内幕——Spring Framework的IOC容器实现(二)

三、IOC容器的初始化过程 IOC容器的初始化时由前面介绍的refresh方法来启动的,这个方法标志着IOC容器的正式启动。这个启动包括BeanDefinition的Resource定位、载入和注册。下面我们将详细分析这三个实现过程,Spring把这三个过程分开,并使用不同的模块来完成,通过这样...

2015-06-16 20:33:32

阅读数:1326

评论数:0

Spring技术内幕——Spring Framework的IOC容器实现(一)

一、SpringIOC容器概述 IOC容器和依赖反转的模式 在面向对象的系统中,对象封装了数据和对数据的处理,对象的依赖关系常常体现在对数据和方法的依赖上。这些依赖关系可以通过把对象的依赖注入交给框架IOC容器来完成。他可以再解耦代码的同时提高了代码的可测试性。 依赖控制反转的实现由很多种方...

2015-06-15 21:18:03

阅读数:1583

评论数:0

提示
确定要删除当前文章?
取消 删除