java三大框架ssh简析

一.ssh环境搭配

(1)struts2(web层v和c)

----创建Action

----创建Action核心配置文件(URL映射),要求类路径下并且命名为struts.xml

----配置过滤器(没它不行)

(2)spring(业务逻辑层m)

----创建核心配置文件

----配置监听器,指定配置文件的位置,实现服务器启动时加载配置文件

(3)hibernate(持久层m)

----创建实体类

----配置实体类的数据库表映射配置文件

----配置hibernate核心配置文件,要求类路径下并命名为hibernate.cfg.xml(也可以交给spring来配置)

----核心配置文件引入映射配置文件

二.ssh整合

(1)struts和spring整合

----Servlet的实例是由服务器来创建的,无法将其移植Java文件中,自然也就不能在配置文件中进行Servlet实例的配置。但是这就不符合spring的IOC思想了,所以action的出现就解决了这个问题。

----struts将action实例交给spring来创建(多实例)

----struts的核心配置文件中的class属性值对应spring配置文件中的action的bean的id属性值

(2)hibernate和spring整合

----hibernate将sessionfactory的实例交给spring来创建(需要注入dataSource)

----在spring的核心配置文件中引入hibernate.cfg.xml核心配置文件(也可以将hibernate的核心配置都交给spring来配置,这样就不需要hibernate的核心配置文件了)

(3)属性注入(DI)

----在类中添加要创建的实例类属性,即set()方法

----将spring创建的对象通过spring的核心配置文件实现属性的注入(传递)

(4)配置事务管理器,并在service层添加事务注解

三.ssh原理解析

(1)配置文件

----将各层实例创建移植到配置文件来创建(IOC),实现解耦和,降低各层之间的关系耦合

(2)BeanFactory

----通过dom4j解析spring的配置文件,获取配置文件中要创建实例的类的全路径

----然后再通过类的全路径结合反射机制实现实例的创建

----最后将创建的实体类通过属性的set()方法传递到各层去,完成属性的注入(或者说实例的传递)

猜你喜欢

转载自blog.csdn.net/ryuhfxz/article/details/81332964