Spring中的IOC和AOP

1.IOC(说明Spring采用动态、灵活的方式来管理各种对象-工厂模式)

     IOC即控制反转,假如A要使用B的方法,一般的做法是先在A中创建B的实例,这种情况称为A依赖于B,而spring提供的ioc功能则是将创建B实例的过程交给了外部容器。即对组件对象的控制器由代码本身转移到了外部容器,其设计思想就是设计模式的工厂模式。这里还有个概念是依赖注入,说的是应用组件不应该负责查找资源或者其他依赖的协作对象,创建被调用者对象的实例应该由spring来完成,然后在注入到调用者中,其实 依赖注入和控制反转是同一个概念

     在Spring容器启动的时候,Spring会把你在application.xml中配置好的bean都初始化,在你需要调用的时候,把已经初始化的bean分配给你要调用这些bean的类,而不用去创建一个对象的实例。

       Ioc的常见容器是:ApplicationContext和BeanFactory

2.AOP(面向切面编程-代理模式)
   面向切面编程的目的是分离关注点,通俗的说是指使用aop你可以一心关注你的正事,而其他的事交给别人处理
  从spring的角度看,aop最大的好处是提供的事务管理机制,事务管理就是一个关注点,你的正事就是去访问数据库,而你不想管事务,所以,Spring在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后,自动帮你提交/回滚事务!

aop的方法:
一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。这里静态织入的原理就是在编译期间,切面直接以字节码形式编译到目标字节码中
AOP的一些关键词

Joinpoint:拦截点,如某个业务方法;

Pointcut:Jointpoint的表达式,表示拦截哪些方法。一个Pointcut对应多个Joinpoint;
Advice:要切入的逻辑。
Before Advice:在方法前切入;
After Advice:在方法后切入,抛出异常时也会切入;
After Returning Advice:在方法返回后切入,抛出异常不会切入;
After Throwing  Advice:在方法抛出异常时切入;
Around Advice:在方法执行前后切入,可以中断或忽略原有流程的执行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值