Spring的控制反转(IOC) 理解与DI的区别、Spring的面向切面编程(AOP)

lOC理解  

它并不是一种技术实现,而是一种设计思想。在任何一个有实际开发意义的程序项目中,我们会使用很多类来描述它们特有的功能,并且通过类与类之间的相互协作来完成特定的业务逻辑。这个时候,每个类都需要负责管理与自己有交互的类的引用和依赖,代码将会变的异常难以维护和极度的高耦合。而IOC的出现正是用来解决这个问题,我们通过IOC将这些相互依赖对象的创建、协调工作交给Spring容器去处理,每个对象只需要关注其自身的业务逻辑关系就可以了。在这样的角度上来看,获得依赖的对象的方式,进行了反转,变成了由spring容器控制对象如何获取外部资源(包括其他对象和文件资料等等)

Spring的控制反转(IOC) :

lnversion of Control 又称为依赖注入(DI) Dependency Injection 把对象的创建和方法的调用的控制权(反转)交由给容器管理,由容器控制程序之间的 依赖关系,IOC就是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是通过容器生成同时,要是产生的是单例的bean,他还可以给管理bean的生命周期

IOC和DI的区别

1.IOC:控制反转,把创建对象交给Spring进行配置

2.DI:依赖注入,向类里面的属性赋值

Spring的面向切面编程(AOP)

将程序中的交叉业务逻辑(就是重复的数据)(比如安全,日志,事务等),I封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。 比如: 很多方法可能会抛异常,你要记录这个异常到日志中去,可以写个拦截器类,在这个类中记录日志,在spring.xml中配置一个对这些要记录日志的方法的aop拦截器在这个方法执行后调用这个 拦截器,记录日志。这样就不用每次抛异常都要手动记录日志。spring的事务管理用到的就是 aop这样也可以提高程序的内聚性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值