总结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包的,我们看不了
