搭建方法主要参考struts2 guide中的Struts 2 + Spring 2 + JPA + AJAX(struts.apache.org/2.0.9/docs/struts-2-spring-2-jpa-ajax.html)文档。
关于用到的类库和构建方法参考那篇文档即可。这里要补充一下,为了方便进行测试,最好把spring-mock.jar也加进来。这样就可以使用AbstractJpaTests对象了,可以很好支持对lazy-load的测试,下边是一个例子:
测试基类:
java 代码
- import org.springframework.test.jpa.AbstractJpaTests;
-
- public abstract class BaseJpaTestCase extends AbstractJpaTests {
-
- protected String[] getConfigLocations() {
- return new String[] {
- "file:/WebAppRoot/WEB-INF/applicationContext.xml",
- "file:/WebAppRoot/WEB-INF/applicationContext-service.xml" };
- }
- }
具体的测试类:
java 代码
- public class UserRoleServiceTest extends BaseJpaTestCase {
-
- private UserRoleService userRoleService;
-
- public void setUserRoleService(UserRoleService userRoleService) {
- this.userRoleService = userRoleService;
- }
-
- @Test
- public void testRemove() {
- UserRole entity = new UserRole("some role name");
- userRoleService.save(entity);
- UserRole persistedEntity = userRoleService.find(entity.getId());
- assertEquals(entity.getName(), persistedEntity.getName());
- userRoleService.remove(persistedEntity .getId());
- assertNull(userRoleService.find(persistedEntity .getId()));
- }
-
- }
测试类不需要在spring配置文件中进行说明,service对象会被自动的注入,非常的方便。
以前用hibernate的时候,Spring提供了OpenSessionInViewFilter来解决在view层的lazy-load问题。而使用jpa进行封装之后,可以使用OpenEntityManagerInViewFilter来达到同样的目的。
在web.xml中进行同样的配置即可:
xml 代码
- <filter>
- <filter-name>entityManagerFilterfilter-name>
- <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilterfilter-class>
- filter>
-
- <filter-mapping>
- <filter-name>entityManagerFilterfilter-name>
- <url-pattern>*.actionurl-pattern>
- filter-mapping>
使用JPA的确是一个不错的选择,现在系统已经可以完全和所使用的持久化框架脱离关系了,虽然我可能会一直是用hibernate,不过在将来多一个选择总是不会错的。
分享到:
相关推荐
Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...
在学习jpa时候做的一个struts2+spring+jpa整合的完整例子 包含分页,一个简单的 资产入库系统 并实现了登陆等。
**Spring+Struts2+JPA 整合详解** 在Java Web开发中,Spring、Struts2和JPA是三个非常重要的框架。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2是一个强大的MVC框架...
oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA)
Struts2、Spring4和Hibernate5是Java Web开发中的三个重要框架,它们分别负责MVC模式中的动作控制、依赖注入和持久化管理。这三者的整合可以构建出高效、稳定且易于维护的企业级应用。 **Struts2** 是一个基于MVC...
Struts2、Spring和JPA是Java开发中常用的三大框架,它们在企业级应用开发中发挥着关键作用。Struts2作为一个成熟的MVC框架,负责处理前端请求和控制业务流程;Spring作为轻量级的IOC(Inversion of Control)和AOP...
4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`<struts-plugin>`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...
Struts2、Spring 和 JPA 是Java开发中常用的三大框架,它们各自负责应用程序的不同层面:Struts2 主要处理 MVC(Model-View-Controller)架构中的控制层,Spring 提供全面的依赖注入(DI)以及面向切面编程(AOP),...
2. **web.xml** - 应用服务器的部署描述符,配置Struts2和Spring的前端控制器。 3. **struts.xml** - Struts2的配置文件,定义Action和结果映射。 4. **spring-context.xml** - Spring的配置文件,设置Bean的定义和...
Struts2、Hibernate和Spring是Java企业级开发中三大核心框架,它们的组合通常被称为SSH(Struts2、Spring、Hibernate)集成框架。这个“Struts2+Hibernate+Spring课件 张志峰版”提供了深入学习这三大框架的宝贵资源...
此外,可能还需要`struts2-convention-plugin.jar`用于自动配置,以及`struts2-spring-plugin.jar`来实现与Spring的集成。 其次,`Hibernate`是持久层框架,通过ORM(对象关系映射)技术实现了数据库操作的便捷性。...
这个项目的文件列表“struts2+spring2+jpa+ajax”可能包含以下内容:配置文件(如struts.xml、spring配置文件)、Java源代码(包括Action类、DAO接口及实现、Service层逻辑)、HTML/JS视图文件、JPA实体类、以及可能...
Struts2+spring3.0+JPA(注解方式集成) 步骤详细 推荐下载
### Struts2 + Spring3.x + JPA1.0框架整合步骤详解 #### 一、引言 随着软件工程的发展,MVC(Model-View-Controller)架构模式因其清晰的分层逻辑而在Web开发领域中得到了广泛的应用。本文将详细介绍如何整合...
Struts2 + Spring + JPA 是一种常见的Java Web开发架构,通常被称为S2SH或S2SJ。这个架构结合了三个强大的开源框架:Struts2作为MVC(模型-视图-控制器)框架负责处理HTTP请求和业务逻辑,Spring框架提供依赖注入...
权限管理代码(struts2+spring2.5+jpa)权限管理代码(struts2+spring2.5+jpa)权限管理代码(struts2+spring2.5+jpa)权限管理代码(struts2+spring2.5+jpa)权限管理代码(struts2+spring2.5+jpa)权限管理代码...
Struts 2、Spring 2、JPA 和 AJAX 是四个在企业级 Java 开发中非常重要的技术组件。这个项目组合提供了全面的解决方案,用于构建高效、可扩展且易于维护的 Web 应用程序。 **Struts 2** 是一个基于 MVC(Model-View...
Struts 2、Spring 2、JPA 和 AJAX 是企业级 Web 应用开发中的四大核心技术,它们在构建高效、可扩展的系统中扮演着重要角色。本示例结合这四种技术,提供了一个完整的应用实例,帮助开发者了解如何将它们整合在一起...
这是三层框架struts2+spring+jpa集成的jar包,找了好久才找到的,由于太大,我分成两部分,这是第一部份,第二部份可以从我资源那里找到,或者查找中struts2+spring+jpa_2也能找到.
### Struts 2 + Spring 2 + JPA + AJAX 技术栈详解 #### 一、技术背景与介绍 在企业级应用开发中,选择合适的技术栈是非常重要的一步。Struts 2 + Spring 2 + JPA + AJAX 这个组合是早期非常流行的一个Java Web...