总结SSH 框架



SSH 框架

首先搭建 spring ContextLoaderListener 监听器

这样,项目启动的时候,监听器回去初始化在 /web-info/applicationContext.xml中的所有的bean

把这个bean的对象放入到 BeanFactory容器.

搭建一个 struts-spring 的插件 jar

这样,struts的action就能够直接发现spring的bean对象.

在hibernate方面,我们使用spring提供hibernatetemplate管理 hibernate(session save delete find get update)

我们直接使用spring管理的 hibernate.cfg.xml 配置 文件。

这个配置文件我们配置了,数据库的数据源(url,root,password)

和与数据库映射的配置文件

基于配置文件的操作,我们使用 bean标签中的ref属性映射 另外一个bean的id

在注入对象中,编写 set方法+id的bean对象首字母大写

进行依赖注入

基于注解的操作,我们在 basepackage中 加入 action,service,dao的基础目录

这样我们就可以把三层的对象中的注解全部扫描出来

Action的注解我们一般使用 Controller,Service我们使用 Service

@Repository dao层的注解

对象做依赖注入的时候,注解方式不用在编写 set方法,而是使用autowrite注解

我当初不配置实务操作,直接交互hibernate的时候,数据是无法入库的。。。

这样给我的感觉是,如果ssh框架,不加事务配置的话,那么久无法入库,后来我

发现,其实只要数据库datasource配置正确,那么久可以做入库操作。

后来我发现事务的配置,在ssh框架中,只是限制事务的特性,与是否 能够入库

无关。

struts+spring+hibernate (配置文件)

springmvc+spring+hibernate(注解方式)

在springmvc中,至少要加入 controller 注解扫描,否则会出现 404异常

service层和dao层的注解扫描是可以放在 其他的bean配置文件中.

配置文件分层,

我们把 和数据库关联的 二级缓存(sessionFactory) 一级缓存(HibernateTemplate)

datasource(数据源)配置到了 一个配置文件中

把bean交互的注解或基于配置文件的内容配置到另外一个配置文件

springmvc的配置也是一个文件,在配置文件的分层中,我们一般分为这三种

除了直接使用 hibernate.cfg.xml

我们也可以通过 sessionfactory标签中,直接加入,hibernate的配置信息

彻底放弃 hibernate.cfg.xml的方式

通过这样的配置

mappingLocations 可以使用 xml的统配符* 进行配置,这样,更加方便

Hibernate 注解方式可以放弃 hbm.xml的配置,直接对orm对象 进行注解操作就可以了

但是在spring配置中,要使用另外一个代理类去做这件事情

SpringMVC +hibernate

datasource

数据库连接池 DBCP 连接池(c3p0)

配置文件与注解的对比

注解 开发快 是注解最厉害的地方,但是很多项目也用配置文件,尤其是大项目,我的

项目经理和我说过一句话

配置大于编码

配置文件中加入注释,和可读性都比注解要好,而且有些代码,配置我们可以看

但是架构中的代码是编译成jar包的,我们看不了

原始页面布局(第 4 页)