原文地址:http://blog.csdn.net/wangyang1354/article/details/50757098 我们经常会遇到这样一种情景,就是在我们开发项目的时候经常会在一个类中调用其他的类中的方法,来完成我们期望的任务,大部分的情况下往往会采用在当前需要的这个类里面new一个实例出来,然后调用他的方法,那么这样的话会有个问题,就是有一天我想改变下这个类,改为其他的名称,那么这时候必须要做的是同时去调用方的类文件中改变这个改变的类的名称.这样的情况是因为代码的耦合带来了后期维护…
上篇博文[SSH进阶之路]Spring的AOP逐层深入——AOP的基本原理(六),我们介绍了AOP的基本原理,以及5种通知的类型, AOP的两种配置方式:XML配置和Aspectj注解方式. 这篇我们使用注解方式来实现一个AOP,我们先看一下项目的目录. 我们采用的是JDK代理,所以首先将接口和实现类代码附上: package com.tgb.spring; public interface UserManager { public void addUser(String userName,St…
上篇博客[SSH进阶之路]Spring简介,搭建Spring环境——轻量级容器框架(一),我们简单的介绍了Spring的基本概念,并且搭建了两个版本的Spring开发环境,但是我们剩下了Spring最核心的两大技术:IoC和AOP,没有深入介绍.从这篇博文开始,我们开始一一的深入学习Spring的两个核心.Spring目前最引人注目的地方,就是IOC=InversionOfControl(控制反转)或者DI=Dependence Injection(依赖注入)的设计思想. 这篇博客我们使用传统方…
1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针.分针和秒针顺时针旋转,从而在表盘上产生正确的时间.图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,共同完成某项任务.我们可以看到,在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组…
Advice简单介绍 1. Before:在目标方法运行之前运行织入.假设Before的处理中没有进行特殊的处理.那么目标方法终于会运行,可是假设想要阻止目标方法运行时.能够通过抛出一个异常来实现.Before处理无法拿到目标方法的返回值,由于这时候目标方法并未运行. 2. AfterReturning: 返回之后运行(前提是目标方法运行成功),能够訪问到目标对象的返回值.可是不能够改变返回值. 3. AfterThrowing:抛出异常之后运行.能够对异常进行适当的修复或者将异常输出到日志中.…
经过我们对Spring的IOC不断的深入学习,Spring的面貌逐渐变得清晰,我们对Spring的了解也更加的深入.从这篇博文开始我们学习Spring的第二大核心内容:AOP. 什么是AOP AOP(Aspect Oriented Programming),意思是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP基于IoC基础,是对OOP(Object Oriented Programming,面向对象)的延续.同时,AOP实际是GOF设计模式的延续,设计模式孜…
我们前面的三篇博文,简单易懂的介绍了为什么要使用IOC[实例讲解](二).和Spring的IOC原理[通俗解释](三)以及依赖注入的两种常用实现类型(四),这些都是刚开始学习Spring IoC容器时的基础内容,当然只有有了这些基础,我们才能走到今天更加详细的解析Spring的源码,深入理解IOC. 这篇我先简单的复习一下IoC,然后根据实例介绍IoC最基本的原理.废话少说,下面我们开始这篇博文的话题: 什么是IoC IoC容器,最主要的就是完成对象的创建以及维护对象的依赖关系等. 所谓控制反转…
上篇博文,我们介绍了为什么使用IOC容器,和IOC的设计思想以及IOC容器的优缺点,并且给大家转载了一篇介绍IOC原理的博文,我们这篇主要给大家依赖注入的两种方式,以及他们的优缺点. 我们这篇博文还是使用上篇博客中添加用户的实力,只是给大家在注入对象的方式上发生一点点变化,为了让大家更加容易接受.下面我们开始: 构造器注入 构造器注入,即通过构造函数完成依赖关系的设定.我们看一下spring的配置文件: <?xml version="1.0" encoding="UTF…
文件夹      [SSH进阶之路]一步步重构容器实现Spring框架--从一个简单的容器開始(八)      [SSH进阶之路]一步步重构容器实现Spring框架--解决容器对组件的"侵入式"管理的两种方案--主动查找和控制反转(九)      [SSH进阶之路]一步步重构容器实现Spring框架--配置文件+反射实现IoC容器(十)      [SSH进阶之路]一步步重构容器实现Spring框架--彻底封装,实现简单灵活的Spring框架(十一) 博文[SSH进阶之路]一步步重构容…