这个东西用来完成解析Spring的配置,Spring的配置在上面指定了路径,WEB-INF/ApplicationContext.xml,下面配置文件的内容:
class=\ > value=\ > value=\ > class=\ destroy-method=\ > key=\>org.hibernate.dialect.SQLServerDialect xmlns:xsi=\ xmlns:context=\ xsi:schemaLocation=\ http://www.springframework.org/schema/context http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context/spring-context.xsd\> class=\>
id=\
id=\
class=\>
这个文件中定义了dataSource访问SQL Server的数据源,Hibernate的Session工长,Struts2中的Action要使用Bean对象,操作数据库的DAO对象。
使用Spring整合和就是要用Spring的IoC机制使耦合关系紧密对象之间变得松散,我们可以看到项目中的Bean对象全部交由Spring管理了。我们在项目代码中无法找到HibernateTemplate(封装了Hibernate的一些操作)是从那里得到SessionFactory对象,也无法找到Action中从那里得到DAO来完成数据库操作,其实这里都是由Spring架构通过IoC完成的,通过setSessionFactory方法,为DAOImpl注入了SessionFactory对象,通过setUserDao方法为Action注入了DAO对象。
另外,我们回过头看看Action配置文件,
原本class 需要一个带有Package的全名,可这里只写了一个registerAction,然而找遍整个项目也无法找到registerAction类,只要在Spring的配置文件中有一个名为registerAction的Bean定义,没错这正式Struts2与Spring的整合模式;Struts2将Bean交由Spring管理,自己不再负责创建Bean对象,而通过Spring注入(具体工作原理可参考struts2-spring-plugin),当然要这要整合Struts的配置也需要稍加修改;
\ \>
name=\
最后说一下项目用要到Jar库,运行项目需要用到如下Jar包,我放到VSS数据库中;
最后说一下项目发布问题,代码开发、单元测试(使用Jutil进行单元测试)后,要将项目的XML配置文件,classes文件进行发布,我们用Jar包方式发布,把我们项目中的classes打近一个tutorial-0.1.jar包中,然后再将jar包放到WEB-INF/lib目录下。
从Eclipse3.4版本已经集成了Fat Jar的一些功能,使用File-Export选择Java-Jar打包,过程和Fat Jar打包过程类似;
最后,部署到Tomcat上跑一下吧,看看你的项目是否正常运行。祝你好运!!!