-
基于SSH实现员工管理系统之框架整合篇——配置Action,Service,Dao的类 II Ps:Action的类由Struts2自身去创建。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
基于SSH实现员工管理系统之框架整合篇——引入相应配置文件 I 1、Struts2框架的配置文件:web.xml + struts.xml。 2、Hibernate框架配置文件:hibernate.cfg.xml + 映射文件。 3、Spring 框架的配置文件:web.xml + applicationContext.xml。 Ps:在SSH整合中该配置文件有时候可以省略。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
基于SSH实现员工管理系统之框架整合篇——创建项目引入jar包 II 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
SSH框架整合:
一、各框架知识点回顾
在没有其他框架时,单独的框架如何实现,以下伪代码:
持久层(Hibernate):
public class BookDao{ public void save(Book book){ Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); session.save(book); tx.commit(); session.close(); } }
业务层(Spring):
public calss BookService{ private BookDao bookDao; public void setBookDao(BookDao bookDao){ this.bookDao = bookDao; } public void save(Book book){ bookDao.save(book); } }
<bean id="bookDao" class = "...BookDao"></bean> <bean id="bookService" class = "...BookService"> <property name = "bookDao" ref="bookDao"/> </bean>
WEB层(Struts2)
public class BookAction extends ActionSupport implements ModelDriven<Book>{ private Book book = new Book(); public Book getModel(){ return book; } public String save(){ WebApplicationContext wap = WebApplicationContextUtils.getWebApplicationContext(...); BookService bs = wap.getBean("bookService"); bs.save(book); } }
二、搭建SSH框架开发环境
1、创建WEB项目,引入相应jar包(Struts2、Spring、Hibernate框架开发相关)
struts2-convetion-plugin-2.3.15.3.jar---struts2的注解开发的jar包
struts2-spring-plugin-2.3.15.3.jar---struts2用于整合Spring的jar包
hibernate-distribution-3.6.10.Final\hiernate3.jar
hibernate-distribution-3.6.10.Final\lib\required\*.jar
hibernate-distribution-3.6.10.Final\lib\jpa\*.jar
slf4j-log4j12-1.7.2.jar---整合日志记录
com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar---连接池数据库驱动包
spring-tx-3.2.0.RELEASE.jar---事务管理
spring-web-3.2.0.RELEASE.jar--整合WEB项目
spring-jdbc-3.2.0.RELEASE.jar--事务管理
spring-orm-3.2.0.RELEASE.jar--整合Hibernate
spring-test-3.2.0.RELEASE.jar--整合Junit单元测试
IOC需要的jar包:
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
com.springsource.org.apache.log4j-1.2.15.jar---日志记录的jar包
com.springsource.org.apache.commons.logging-1.1.1.jar---日志整合的jar包
AOP需要的jar包:
spring-aop-3.2.0.RELEASE.jar
spring-aspects-3.2.0.RELEASE.jar
com.springsources.org.aopalliance-1.0.0.jar
com.springsources.org.aspectj.weaver-1.6.8.RELEASE.jar
2、引入相应的配置文件
Struts2框架的配置文件:
web.xml---配置核心过滤器(StrutsPrepareAndExecuteFilter类)
struts.xml---Struts2框架本身的配置文件(在SSH整合中使用纯注解方式时,此文件可省略)
Hibernate框架的配置文件:
hibernate.cfg.xml---核心配置文件(在SSH整合中可省略此文件)
映射文件
Spring框架的配置文件:
web.xml---配置核心监听器(ContextLoaderListener类)
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
applicationContext.xml---Spring的核心配置文件
log4j.properties---日志配置文件
3、创建包结构(action、service、dao、domain)
(一)Struts2整合Spring框架
4、创建页面(WebRoot下新建jsp页面)
部署项目到Tomcat访问本地jsp页面
5、编写Action、Service和Dao
Service层注入Dao
Action中通过整合jar包自动注入,提供Service的set()方法即可
6、配置Action、Service和Dao的类
Service和Dao交给Spring管理,在applicationContext.xml中配置
Struts2和Spring整合的两种方式:
(1)Action的类由Struts2自身去创建;---在struts.xml中配置
(2)Action的类交给Spring框架创建(可以交给Spring的AOP去管理)---配置时手动注入Service(Action创建类是多例,Spring创建类默认是单例模式,所以交由Spring创建时需要设置scope = "prototype")
(二)Spring整合Hibernate框架
7、创建数据库
8、创建映射文件---类和表的对应关系(Hibernate会根据此文件在数据库中创建表结构)
9、Spring整合Hibernate
jdbc.properties属性文件
在applicationContext.xml中配置连接池(ComboPooledDataSource类),引入外部属性文件
在applicationContext.xml中配置Hibernate的相关属性SessionFactory,注入连接池,加载映射文件
10、编写DAO中的代码 extends HibernateSaoSupport 注入SessionFactory
配置DAO时
<bean id = "productDao" class="...ProductDao"> <property name="sessionFactory" ref = "sessionFactory"/> </bean>
在DAO中调用模板完成保存操作
this.getHibernateTemplate().save(product);
11、事务管理
在applicationContext.xml中配置事务管理器(HibernateTransactionManager类),注入sessionFactory,开启注解事务使用<tx:annotation-driven/>标签,引入HibernateTransactionManager的ID,在业务层的类上添加@Transaction注解
三、综合案例
查看全部 -
SSH框架
查看全部 -
配置事务管理器
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> 开启注解事务 <tx:annotation-driven transaction-manager="transactionManager" />
查看全部 -
编写DAO中的代码
查看全部 -
配置Hibernate的相关属性
查看全部 -
Action的类由struts2自身创建
查看全部 -
Service和DAO是如何配置的
直接在applicationContext.xml中进行配置
查看全部 -
Action的类由Struts2自身去创建
查看全部 -
Struts2和spring整合的2种方式
Action的类由Struts2自身去创建
Action的类交给Spring框架创建
查看全部 -
商品管理的Action类
模型驱动使用的类
Struts和Spring整合过程中按名称自动注入的业务层类
查看全部 -
spring的框架的核心监听器
查看全部 -
struts.xml中需要配置那些内容
在src目录下引入struts.xml
查看全部
举报