`

SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法

阅读更多
SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法

1) 如下代码
@Controller
@RequestMapping("/just")
public class TestController {

	@Resource
	private EmployeeDao dao;

	@ResponseBody
	@RequestMapping("/test")
	public List<Employee> test() {
		return dao.findAllEmployees();
	}
}

如果dao查找出来的列表中包含不完整的Entity最终SpringMVC会出现一个内部异常。

2) 有人写了一个插件专门来解决这个问题。
<dependency>
  <groupId>com.fasterxml</groupId>
  <artifactId>jackson-module-hibernate</artifactId>
  <version>1.9.1</version>
</dependency>

这里包含一个Moduel("com.fasterxml.jackson.module.hibernate.HibernateModule")实现,就像所有Jackson标准的Model注册一下就可以用了。
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new HibernateModule());


3) 可以自己写一个ObjectMapper的子类注册给"org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
package com.wicresoft.jpo.demo.json;

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig.Feature;

import com.fasterxml.jackson.module.hibernate.HibernateModule;

public class HibernateAwareObjectMapper extends ObjectMapper {

	public HibernateAwareObjectMapper() {
		HibernateModule hm = new HibernateModule();
		registerModule(hm);
		configure(Feature.FAIL_ON_EMPTY_BEANS, false);
	}

	public void setPrettyPrint(boolean prettyPrint) {
		configure(Feature.INDENT_OUTPUT, prettyPrint);
	}
}

<mvc:annotation-driven conversion-service="conversion-service" validator="validator">
	<mvc:message-converters register-defaults="false">
		<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
		<bean class="org.springframework.http.converter.FormHttpMessageConverter" />
		<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />
		<!-- 修改为以下配置即可 -->
		<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
			<property name="objectMapper">
				<bean class="com.wicresoft.jpo.demo.json.HibernateAwareObjectMapper">
					<property name="prettyPrint" value="true" />
				</bean>
			</property>
		</bean>
		<bean class="org.springframework.http.converter.StringHttpMessageConverter" />
		<bean class="com.wicresoft.jpo.demo.http.converter.UTF8StringHttpMessageConverter" />
	</mvc:message-converters>
</mvc:annotation-driven>
分享到:
评论
1 楼 xuxin023 2015-07-03  
[flash=200,200][flash=200,200][flash=200,200][url][img][list]
[*]
引用
引用
[u][b]
引用
[i][u]
引用
[list]
[*][*][img]
[*][*]
[*][*][flash=200,200][flash=200,200][url][list]
[*][*][*]
引用
[list]
[*][*][*][*][img][img][url][flash=200,200]
[*][*][*][*][flash=200,200][flash=200,200][url][img][list]
[*][*][*][*][*]
引用
[*][*][*][*][*][flash=200,200][img][url][/url][/img][/flash]
[*][*][*][*][*]
|||||
||
  • [*]||[*][*]|[/list][/img][/url][/flash][/flash]|||||
  • ||
  • [*]||[*][*]
  • [/flash][/url][/img][/img]||||||
  • [*]||[*][/list]||||
  • ||
  • [*]||[/list][/url][/flash][/flash]||||
  • ||
  • [*]|
  • |||||
  • [*]
  • [/img]||||
  • [/list][/u][/i][/b][/u]||
  • ||[/list][/img][/url][/flash][/flash][/flash]||
    |
    |

    相关推荐

      SpringMVC+Spring3+Hibernate4

      SpringMVC、Spring3和Hibernate4是Java Web开发中三个非常重要的框架,它们共同构建...通过分析和运行这个示例,开发者可以更好地理解SpringMVC、Spring3和Hibernate4如何协同工作,以及如何在实际项目中进行整合应用。

      springmvc+spring+hibernate

      Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大而灵活的后端架构。Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向...

      SpringMVC+Hibernate+Spring整合实例

      在"SpringMVC+Hibernate+Spring整合实例"中,我们可以看到这三者是如何协同工作的。首先,Spring会初始化并管理所有组件,包括SpringMVC的DispatcherServlet、Controller以及Hibernate的SessionFactory。然后,当...

      SpringMVC使用JSON的Jackson的jar包

      要实现这一功能,需要依赖Jackson库,特别是Jackson的两个核心组件:`jackson-mapper-asl`和`jackson-core-asl`。 1. Jackson库介绍: Jackson是Java中广泛使用的JSON处理库,它提供了多种功能,如JSON序列化、反...

      Spring+SpringMVC+Hibernate框架集成详解

      Spring+SpringMVC+Hibernate 框架集成详解 本文档旨在详细介绍 Spring、SpringMVC 和 Hibernate 框架的集成,旨在帮助开发人员快速了解这三个框架的集成过程。 Spring 框架 Spring 框架是一个 Java 语言的开源...

      springMvc+hibernate Demo

      这个 "springMvc+hibernate Demo" 压缩包文件很可能是为了展示如何将这两个框架整合在一起,创建一个完整的数据驱动的 Web 应用。 **Spring MVC 框架** Spring MVC 是 Spring 框架的一部分,设计用于构建可维护、松...

      springmvc-jackson-jar包集合

      7. `jackson-module-jaxb-annotations-2.2.1.jar`:这是一个扩展模块,用于支持JAXB注解,使得已经用JAXB注解过的类可以无缝地与Jackson一起工作,无需额外的配置。 三、整合Spring MVC与Jackson 在Spring MVC中...

      springMVC+Spring3+hibernate4整合实现增删改查demo

      在"springMVC+Spring3+hibernate4整合实现增删改查demo"中,这三者协同工作,提供了一套完整的解决方案。SpringMVC接收用户请求,Spring管理Bean并处理事务,Hibernate执行数据库操作。测试类用于验证这些功能是否...

      SpringMvc(4.0)+hibernate(4.0)

      Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发人员将数据库操作与 Java 对象进行解耦,简化了数据库编程。在 Hibernate 4.0 版本中,改进了对 JPA 2.0 的支持,引入了更灵活的查询语言 HQL 和 ...

      非注解Springmvc+spring+hibernate 入门实例

      此外,还需要创建`SessionFactory`,它是Hibernate的主要工作单元,负责创建`Session`对象,`Session`则是与数据库交互的接口。 在MvcSpringTest中,你可能还会看到数据访问对象(DAO)和业务服务对象(Service)的...

      SpringMVC与Hibernate整合所需jar

      本文将详细介绍SpringMVC与Hibernate整合所需的jar文件以及它们在整合过程中的作用。 首先,我们需要理解SpringMVC的核心组件。它包括DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、...

      springmvc+hibernate使用jar包集合

      在Java Web开发中,Spring MVC和Hibernate是两个非常重要的框架,它们分别负责处理控制器层和持久层的任务。Spring MVC提供了一种模型-视图-控制器(MVC)架构,使得开发者能够有效地组织和管理应用程序的业务逻辑,...

      springmvc+hibernate+easyui

      在SpringMVC项目中,Hibernate通常与Spring Data JPA结合使用,实现便捷的数据访问。 【EasyUI】 EasyUI是一个基于jQuery的UI组件库,专为开发人员提供丰富的Web前端控件,如表格、树形结构、对话框、表单等。它...

      Spring4+SpringMVC4+Hibernate4+Jackson2.5.0

      本项目是基于Spring4、SpringMVC4、Hibernate4和Jackson2.5.0的集成示例,具有详细的中文注释,对于学习和理解这四大框架的协同工作具有极大的帮助。 **Spring4** 是一个全面的Java应用开发框架,它提供了依赖注入...

      springmvc+spring3+hibernate4整合

      整合Spring MVC、Spring 3和Hibernate 4是一个涉及多个方面的工作,包括配置文件的设置、实体管理器的获取、数据源的配置等。以下是详细的知识点: 1. 工具和版本选择:在搭建Spring+SpringMVC+JPA+Hibernate平台时...

      SpringMVC +Security+Hibernate

      SpringMVC、Security和Hibernate是Java开发中三个非常重要的框架,它们各自负责应用程序的不同层面,协同工作可以构建出高效、安全且数据管理完善的Web应用。 SpringMVC是Spring框架的一部分,用于构建MVC(Model-...

      springmvc与hibernate整合

      本文将深入探讨SpringMVC与Hibernate的整合过程以及其中涉及的关键知识点。 1. **SpringMVC框架**:SpringMVC是Spring框架的一个模块,负责处理Web请求。它提供了Model-View-Controller模式的实现,使得开发者能够...

      springMVC+maven+hibernate框架

      springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783

    Global site tag (gtag.js) - Google Analytics