Spring+JPA+Struts1的整合
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" value="itcast"/>
?</bean>
?<!-- 实例化spring的JPA事务管理器 -->
?<bean id="txManager" 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方面的良好的基础知识。想用好一个框架,还是不断地用,多开发多深入到具体的每一
个点上详细做才能最终掌握它。
?
?
?
?
?
?