Spring 小结

框架与实现思想

MVC:模型视图控制器,表现层的的设计思想,Struts1是MVC的一个实现。

ORM:对象关系映射,持久化层的设计思想,hibernate是ORM的一个优雅实现。

IOC(DI): 控制反转或依赖注入(IOC与DI是从不同角度来说明一个问题),spring是IOC的一个实现。

IOC::Inverse Of Control 的缩写,叫控制反转:程序中没有写明创建哪一个对象,使用对象是由配置文件(容器)决定的。

DI:Dependency Injection 的缩写,叫依赖注入:程序中定义接口,程序运行需要实现类,这个类不是在编译阶段决定的,而是在程序运行过程中由容器注入的。

AOP:面向方面(切面)编程,spring是AOP框架的一个实现。

配置文件:当名字中包含特殊字符时,使用name属性

使用Spring容器得到的对象都是单态的。

对象的初始化方法,创建对象后被调用。

Spring AOP的几种通知

a.before advice(前置通知)实现了org.springframeword.aop.MethodBeforeAdvice接口的Advice,称之为前置advice,意思是在目标方法还没有执行之前执行。

b.after advice(后置通知)实现了org.springframeword.aop.AfterReturningAdvice接口的Advice,称之为后置的advice,意思是在目标方法执行之后执行。

c.throws advice(异常通知)实现了org.springframeword.aop.ThrowsAdvice接口的Advice,称之为exception advice(异常通知),该接口没有定义任何方法,但是在实现相应的ThrowsAdvice的时候,方法必须遵循一下规则:void after Throwing([Methods,args, target] , ThrowAbleSubclass)其中的[]中的三个参数可以省略,可以根据要拦截的ThrowAble的不同类型,在同一个ThrowsAdvice中实现多个AfterThrowing方法,Spring框架会使用java反射来调用这些方法。

d.around advice(环绕通知)实现了org.aopalliance.intercept.MethodInterceptor接口的advice,称之为aroundadvice ,就是直接拦截整个方法,方法的调用有程序员决定,前面我编写的advice虽然可以在目标方法调用前后别拦截,但并不能控制目标方法的执行,比如在目标方法没有执行之前,先做权限检查,如果有权限则执行该目标方法,否则不执行目标方法。这需要环绕advice。


添加事务后Spring配置文件各层的注入关系



Spring 小结_第1张图片


你可能感兴趣的:(spring)