1.首先整合spring+JPA。由于是JPA,所以在src下建立一个META-INF的文件夹,在里面建立JPA的persistence.xml文件。JPA的
实现是基于Hibernate3,所以在persistence.xml文件中配置hibernate连接数据库的属性。
2.在web.xml中配置spring容器,让spring管理我们的类。当然了,在src目录下建立beans.xml文件
<!--web容器配置spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!--web容器实例化spring-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3.在beans.xml中配置jpa的实体管理器(LocalEntityManagerFactoryBean)和jpa事务管理器(JpaTransactionManager),都是
spring为我们做好的。
<!-- 实例化spring的JPA实体管理器 -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="itcast"/>
</bean>
<!-- 实例化spring的JPA事务管理器 -->
<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
spring 的事务管理用注解方式声明,所以beans.xml中配置spring的事务管理器。
<!--加载注解驱动 即用注解的方式启动事务管理器 -->
<tx:annotation-driven transaction-manager="txManager"/>
4.JPA的实体映射是通过注解@Entity做的。所以创建好实体bean以后,做好注解就达到实体映射的目的了。
5.在业务服务层中,如何应用JPA的数据库访问对象呢?通过注解的方式应用EntityManager对象。即在业务层实现类中
@PersistenceContext private EntityManager em;这样就可以通过em对象增删改查实体对象了。
6.搭建spring+JPA的平台以后,可以通过junit测试对实体的增删改查,检验是否集成成功。
7.spring+struts1的集成,首先在web.xml中初始化struts1.
<!-- 配置struts1 -->
<servlet>
<servlet-name>struts1</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>struts1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
struts-config.xml配置文件放在WEB-INF目录下。
8.struts-config.xml配置文件中配置struts1的formbeans,action-mappings,还要指明struts1的action有spring容器管理。
<!-- 通过controller把struts的action由spring管理 -->
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
spring怎么管理struts1的action呢?其实很简单,首先在spring中创建控制层的bean对象,struts1配置中的action的path和
bean对象的name是一样的,这样spring就可以管理action请求了。
9.配置好了spring+struts1的平台以后,就创建action测试是否集成成功。在action类中,通过@Resource 注解引用业务层的
接口,实现控制层中调用业务方法。
总结:spring+JPA+struts1的集成有一定的难度,首先要有一定的基础包括spring,JPA,struts1等的基本知识。然后还得有对
MVC框架的了解。当然了前提是有java方面的良好的基础知识。想用好一个框架,还是不断地用,多开发多深入到具体的每一
个点上详细做才能最终掌握它。