Spring4的AOP与IOC

Spring介绍
Spring是为了解决企业应用程序维护复杂性而创建的。Spring框架的解决方法就是采用分层架构,分层架构允许程序员选择使用哪一个组件,同时为J2EE应用程序开发提供集成环境。
Spring框架就是实现了AOP功能的IOC容器,在IOC容器的基础上加上AOP不仅可以做到紧耦合开发,还具有AOP功能。


Spring架构

  • Test模块:Test测试模块支持对Spring组件在JUnit或TestNG框架中进行测试。
  • Core Container:核心容器,主要的作用就是对Bean进行管理,负责Context核心上下文的创建和维护。
  • AOP和Aspect:支持面向切面编程。
  • Data Access/Integration:Spring也支持数据库操作,而且具有自己的ORM框架。并且还支持消息通信技术,如JMS。
  • Web:Web模块主要提供Spring MVC的一个框架模块,使用它可以对Web开发进行分层开发。

Spring的核心要点:支持不绑定到特定J2EE服务容器的可重用业务和数据库访问对象。毫无疑问,这样的对象可以在不用J2EE环境(Web、EJB)和测试环境之间重用。


IOC介绍
IOC容器就是为了管理Bean,创建Bean的一个内存区,在这个内存区中可以将操作Bean的代码以面向接口的方式进行开发,这样基于接口的多态性,程序结构的分层就更加灵活,维护和扩展也很方便。IOC概念从编程技术上来讲是将接口和实现相分离。

在Spring中IOC容器占据了很核心的功能,通过IOC容器就可以完全管理Java Bean,包括创建、销毁,还可以对数据库的java bean进行自动化的事务处理,并且还支持一些企业级的应用(如 JNDI JavaMail)。


AOP介绍
可以理解为AOP是面向一小段代码进行编程,AOP技术可以在不改变原始代码段的基础上做一些功能性的增强,比如,可以在不改变代码的基础上加上日志的功能,所以AOP主要面向代码段进行功能性的增强。

AOP增强的方式是用过代理来实现的,代理分为静态代理和动态代理。

静态代理的实现
在静态代理中,代理对象与被代理对象必须实现同一接口,完整保留被代理对象的接口样式,并且一直保持接口不变的原则。
静态代理自身的缺点就是扩展性不好,如果想要创建更多的类,就需要创建更多的代理类。

动态代理的实现

接口功能
MethodBeforeAdvice方法执行前增强
AfterReturningAdvice方法执行后增强
MethodInterceptor方法执行前后环绕增强

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值