您的位置:首页 > 编程语言 > Java开发

Spring概括总结

2016-05-23 03:44 295 查看
IOC:控制反转(依赖注入)
本质:构建对象的技术,就是将一个类实例化成对象的技术。
在java中实例化类是以new来实现的,每次new一个类都会产生一个新的实例对象,若使用此种方式创建对象,会很浪费,还有安全问题,因为在开发过程中,经常只需要一个类只能产生一个的实例对象,就需要使用单例模式。
在Spring中,bean就定义了一对一的模式,而scope属性中,single产生单例对象,prototype则产生新的对象,还可以通过工厂方式创建对象,所以说,bean 就是创建对象的工具,而这,也就是IOC的好处。
举例:如果需要模拟人开车,需要两个对象,人和车,人和车赋予了开车这个对象,但是,要构造一辆车出来,需要底盘,发动机,车架这些新的对象,并且,这些对象相互嵌套相互关联,所以,要创建车这个对象,何其复杂,但是如果是需要构造更加复杂的东西呢?成本高得难以想象,怎么来消除对象的耦合关系?
Spring提供了一种方式,就是IOC容器,在xml中定义各个对象的依赖关系,控制反转,由容器来完成对象的创建,所以,对象的创建由IOC容器来接管;若需要某个实例,就依赖注入,从容器中获取对象,注入到所需的程序中。
注入:
在java中,想要某个类提供某个功能,可以构造一个新的类,新类继承原本的类;也可以将某个类定义在新类中,那么两个类就实现了关联关系。
在Spring中,IOC实现了关联关系(却不是继承关系),某个类要被赋值到新类中去,可以通过set方法;或者通过构造方法。这也是Spring容器注入的两种标准方式。
而这些,都是增强目标对象能力的开发手段。

代理模式:
代理模式将继承模式和关联模式结合在一起,不是为了解决注入问题,而是为具体的对象进行"代理",这个代理代表了具体的实例的对象,实例对象的入口和出口都是通过这个"代理"管理,所以,这个"代理"就用来解决一些事务性,重复性的操作。

AOP:
解决开发中的事务性操作,以及和核心业务无关的问题,但是这些代码在业务场景中又十分重要,所以,利用AOP开发也会节省很多的代码量。

Spring总结:
核心技术的本质:沟通机制。
Spring让沟通的双方信息畅通,降低双方的沟通成本。
Spring像银行,不创建东西,但是一切资源都需要通过它进行流通。
Spring优点:能降低不同模块之间的耦合度,因为,在不同的模块中,信息的沟通是通过对象传递完成,而对象能否顺利传递,就需要合理的构建好的对象,所以,必须管理好对象的构建方式就能管理好对象传递。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: