首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

高级java高级工程师-spring的IOC和AOP

2013-02-25 
高级java工程师-----spring的IOC和AOPspring在SSH中主要的作用是什么呢?第一就是IOC(依赖注入或者控制反转

高级java工程师-----spring的IOC和AOP

spring在SSH中主要的作用是什么呢?

第一就是IOC(依赖注入或者控制反转):

SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)struts负责控制Service(业务逻辑处理类),从而控制了Service的生命周期,这样层与层之间的依赖和强,属于耦合。要在action中实现一个具体业务就需要调用至少一个service业务组件,service业务组件至少实例化一个dao组件,这样的一个业务使action和service和dao层的耦合度相当高,spring就是依赖注入的原理首先是面向接口编程,提供service业务组件接口层和dao组件接口,当action实现一个业务的时候只需要调用service组件接口和dao组件接口,那么这些接口怎么实例化呢?早期有使用工厂设计模式来实例化接口,spring出现之后是提供一个xml的配置文件将接口实现类的路径和接口对象以bean的形式配入,可以通过propertity或者contruct的形式注入其他的实例(比如service的bean中注入dao的bean),最后在action和service的实现类添加set方法或者带参构造方法,这样ation层和service层和dao层就完全分离了实现了高度解耦,而在以往单独使用Struts框架的时候,所有的业务方法类的生命周期,甚至是一些业务流程都是由Action来控制的。层与层之间耦合性太紧密了,既降低了数据访问的效率又使业务逻辑看起来很复杂,代码量也很多。在spring容器启动时来实例化引用,降低了程序的依赖性,如果某个业务逻辑发生变化,可以重新写一个新的业务逻辑实现类,修改spring的配置文件即可,不用每个action代码中去改new的对象,这就是依赖注入。

其实这种思想是spring用到的另一种设计模式叫做桥接模式,主要思想是指当将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化,就好像service组件和dao组件,早期没有用mvc框架思想的时候就是实现一个service组件就会将需要调用的dao组件绑定,这就需要将这种多维度的变化分开使它们独立的变化,spring就很好的使用了该设计模式达到解耦代码简易的效果可扩展性强。


第二就是AOP:



1楼niuyantao11前天 17:29
赶紧更新!!!

热点排行