Spring IoC,DI,AOP的一点理解

    首先关于IoC(Inversion of Control),字面意思即“控制反转”,在Spring框架中,就是用来控制程序中对象的生命周期和对象之间关系的。
    以前我们编程时需要在A类中使用B类的对象,我们就需要new一个对象,使用完了还需要销毁,有了IoC之后就不一样了,省去了我们自己手动新建的步骤,类似于房产中介一样,把我们需求传递给中介(Spring IoC),告诉他我需要这样一个对象,你帮我找出来,加载好给我使用,用完了你帮销毁,全程只要在适当的时候告诉Spring IoC容器我要使用了,其他工作都由Spring来处理。有了Spring之后所有的对象的创建销毁都由Spring来控制,这样就减小了程序中间的耦合度,使得程序可用性可扩展性更高。

    其次,DI(Dependency Injection,依赖注入),举个例子:我们一个登陆验证操作需要连接数据库查询比对数据,如果没有Spring,通过简单的Servlet实现的话,我们的步骤可能是:首先新建数据库连接,然后才能操作数据库,进行验证...有了Spring 之后,这个建立连接的步骤就可以交由Spring来操作,至于什么时候建立,什么时候关闭,我不用管,我只要在我要用这个连接的时候,由Spring注入给我就行了(类似于打针一样),Spring会在适当的时候新建这个连接,然后注入到需要这个连接的类中。这个类需要依赖这个连接才能正常运作,而这个连接不是自己新建的而是由Spring容器帮忙新建然后注入到类中的,这就是依赖注入名字的由来。

    最后AOP(Aspect Oriented Programming,面向切面编程),通俗一点的解释就是:我本来需要按照顺序12345..依次做某些事情,然而计划赶不上计划,做完第二件事,我突然有急事需要去处理,在我做完急事之后,继续回来做第三件事,最终也能达到目的!这就是AOP,在业务处理过程中,做了其他事情也不会影响这个业务的正常处理完成!一般用于日志打印,权限控制等等操作。AOP最大的好处就是将与业务逻辑处理无关的代码分离开来,即时后期删除了这些代码,也不会影响正常业务的运行处理,大大提高了程序的可扩展性,减小了业务逻辑类的处理负担。

    看了一些文章,总结了一下,有不对的地方敬请各位大神指正!!!谢谢!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值