J2EE的三层架构,分别是表现层,业务层,持久层
表现层用的是Struts2
业务层用的是Spring
持久层用的是Hibernate
S2SH3集成:
- 新建一个web项目;
- 建立domain;
- 导入hibernate相关的包(因为用的是hibernate3.6):
- 导入hibernate3.jar
- 导入required里面所有的jar包
- 导入jpa里面的包
- 完成映射文件;
- 完成DAO接口;
- 导入spring相关的包;
- 继承HibernateDaoSupport完成dao的实现
- Spring和Hibernate集成的配置文件:
- 配置一个datasource,这个datasource是准备传给hibernate的
- 配置<property-placeholder>引入数据库连接信息相关的properties
- 配置sessionFactory
- 不使用hibernate.cfg.xml文件
- 需要传入一个dataSource;
- 通过<property name="hibernateProeprties>传入hibernate的配置信息
- 通过<property name="mappingResources">传入所有的映射文件
-
-
- 使用hibernate.cfg.xml文件
- 需要传入一个dataSource
- 需要通过<property name="configLocation">传入hibernate.cfg.xml的地址
- 配置一个基础的DAO
- 创建一个applcationContext-dao.xml,在这个文件里面配置dao的实现;
- 在applicationContext.xml中引入相关配置文件;
-
9.完成Service接口;
10.完成Service的实现;
11.配置service
12.配置事务
- 配置transactionManager,使用HibernateTransactionManager,这里面需要一个sessionFactory;
- 配置事务通知
- 配置aop切面
13.Struts2和Spring集成
- 导入struts的jar包
- 完成Action
- 在spring中配置action,scope必须为prototype;
- 加入struts.xml配置文件,
<!-- 当struts和spring集成在一起的时候,action的class就不能写action的类限定名,
只能写这个action在spring中配置的bean对应的id -->
5.导入spring-web.jar
6.导入struts2和spring集成的包,struts2-spring-plugin-2.3.14.jar
14.在web.xml中配置spring的启动监听器org.springframework.web.context.ContextLoaderListener
15.在web.xml中配置spring启动容器加载配置文件的路径。