码迷,mamicode.com
首页 > 其他好文 > 详细

2017.07.19

时间:2017-07-19 23:28:49      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:font   方式   mil   业务逻辑   面向   工具   服务   简单的   会员   

     公司运用Spring框架来干事情,限于之前基础差,并不了解什么是Spring。首收要了解Spring,就需要知道Spring的两种最重要的概念,DI(依赖注入)和AOP(面向切面编程)。DI(依赖注入),来举一个简单的列子,什么叫依赖呢?A调用B,A能够调用B说名一个问题,A与B是依赖关系,在软件上来说就是A与B有依赖关系。IOC(控制反转)那么问题来了,如果不反转会发生什么?A既然不能调用B,那么B如何才能被A使用呢,很明显此时需要通过一些其他方式,比如

B b=new  B();/*这种形式*/

B新建了一个实列,此时A就需要主动去调用。那么反转就是B主动,A被动,控制这中反转就是DI,也就是依赖注入。

举个列子:

      通常情况下,假如你有一天在家里口渴了,要喝水,那么你可以到你小区的小卖部去,告诉他们,你需要一瓶水,然后小卖部给你一瓶水! 这本来没有太大问题,关键是如果小卖部很远,那么你必须知道:从你家如何到小卖部;小卖部里是否有你需要的水;你还要考虑是否开着车去;等等等等,也许有太多的问题要考虑了。也就是说,为了一瓶水,你还可能需要依赖于车等等这些交通工具或别的工具,问题是不是变得复杂了?那么如何解决这个问题呢?

      解决这个问题的方法很简单:小卖部提供送货上门服务,凡是小卖部的会员,你只要告知小卖部你需要什么,小卖部将主动把货物给你送上门来!这样一来,你只需要做两件事情,你就可以活得更加轻松自在:

       第一:向小卖部注册为会员

      第二:告诉小卖部你需要什么

     Spring就是小卖部,你就是A对象,水就是B对象
      第一:在Spring中声明一个类:A
      第二:告诉Spring,A需要B

这个列子的理解方式我是参考博客:http://blog.csdn.net/li_tengfei/article/details/6106317

      AOP(面向切面编程):将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。盗用网上一幅很经典的图技术分享

从这幅图里面应该能够看出在实际使用中是将相同的功能切出来,关注其他核心业务点。

2017.07.19

标签:font   方式   mil   业务逻辑   面向   工具   服务   简单的   会员   

原文地址:http://www.cnblogs.com/linjingjia/p/7207855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!