`
橙臣1314
  • 浏览: 6662 次
社区版块
存档分类
最新评论

多视图处理下的懒加载

阅读更多
最近遇到最多的一个问题是懒加载在render View的时候无法取得值的问题。懒加载处理对象有两种代理模式,jdk动态代理[默认]和cglib编织字节码代理。
HTTP Status 500 - Unable to locate object to be marshalled in model: {member=memberid|1 name|lily phone|1356874584 email|lily@air.com, org.springframework.validation.BindingResult.member=org.springframework.validation.BeanPropertyBindingResult: 0 errors}
org.springframework.web.servlet.view.xml.MarshallingView.renderMergedOutputModel(MarshallingView.java:104)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:264)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:811)
如上是返回xml视图时报错

如上是对象信息,返回对象经过懒加载封装,在视图取值时就会报错
		<dependency>
		      <groupId>com.fasterxml.jackson.datatype</groupId>
		      <artifactId>jackson-datatype-hibernate3</artifactId>
		      <version>2.0.0</version>
		</dependency>

然后找到fasterXML,用于处理json数据显示时的懒加载,但是xml还没找到相似功能的模块。
 <property name="defaultViews">
            <list>
            	<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
            		<property name="objectMapper">
	                    <bean class="org.carryli.common.hibernate.MyObjectMapper" />
	                </property>
            	</bean>
        </list>
</property>


貌似是spring在3.2使用fasterxml处理懒加载
import org.springframework.stereotype.Component;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.hibernate3.Hibernate3Module;

@Component
public class MyObjectMapper  extends ObjectMapper {

	public MyObjectMapper() {
		Hibernate3Module hbm = new Hibernate3Module();
		hbm.enable(Hibernate3Module.Feature.FORCE_LAZY_LOADING);

		registerModule(hbm);
		configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
	}

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

以上作为记录
  • 大小: 33.5 KB
分享到:
评论

相关推荐

    Fragment实现懒加载

    "Fragment实现懒加载"是指在Fragment中采用一种策略,使得其内容只有在真正需要显示时才进行加载,从而提高应用性能和用户体验。这种方式特别适用于处理大量数据或者需要网络请求的情况,避免一次性加载所有内容导致...

    bootstrap-treeview树节点实现动态加载(懒加载)

    动态加载(也称为懒加载)是一种优化性能的技术,只在用户需要时才加载数据,而不是一次性加载所有数据,这对于处理大量数据或层级结构尤其有用,可以显著提升页面加载速度和用户体验。 本项目在官方Bootstrap ...

    select懒加载组件

    在Vue.js框架中,"select懒加载组件"是一种优化大量数据下选择列表性能的策略。这类组件通常用于处理数据量过大的下拉菜单,避免一次性加载所有选项导致页面卡顿或加载时间过长。Vue.js提供了强大的数据绑定和组件化...

    懒加载demo

    通过这个示例,开发者可以学习如何在ListView、RecyclerView等滚动视图中应用懒加载。 1. **理解懒加载原理**: - 懒加载的核心思想是延迟加载,只有当数据或资源即将出现在视图中时才进行加载。 - 在滚动视图中...

    Fragment的懒加载

    总结来说,Fragment的懒加载是提高Android应用性能的关键技术之一,尤其在处理大量数据或复杂视图时。通过合理地判断Fragment的状态,异步加载数据,并结合ViewPager和Lifecycle框架,我们可以创建更加高效、响应...

    ViewPager嵌套Fragment,懒加载处理,开源框架viewpagerindicator使用

    在处理大量数据或者图片时,为了提高应用性能和用户体验,通常会采用懒加载策略。而开源框架ViewPagerIndicator则为ViewPager提供了更丰富的指示器样式,使得页面切换更加直观。 **ViewPager与Fragment的组合** ...

    gridview下拉刷新,懒加载

    - 懒加载时,根据实际需求考虑是否需要在数据源(如ArrayList)中添加或删除元素,以保持与视图的一致性。 - 对于大量数据,可以考虑使用分页加载,每次只加载一部分数据,以减轻服务器压力和提高用户体验。 综上...

    Android fragment懒加载初探

    "Android fragment懒加载"是指在用户实际需要时才加载Fragment中的数据或视图,而不是在Fragment创建时立即加载。这种方法可以显著提高应用性能,减少资源消耗,特别是在处理大型数据集或复杂视图时。 在Android的...

    整合图片懒加载及百度地图定位与显示

    项目结构可能包括地图组件、图片懒加载组件以及处理定位和地图交互的脚本。通过学习这个项目,开发者可以了解如何将这些技术实际应用于一个完整应用,提高自己的技能水平。 总结,"整合图片懒加载及百度地图定位与...

    ios 多视图切换

    6. **懒加载**:为了优化性能,视图控制器中的视图和数据可以采用懒加载策略,即只有在真正需要时才加载。这可以通过`懒加载属性`或`异步加载`实现,例如,图片可以使用`SDWebImage`库实现网络图片的异步加载。 7. ...

    解决fragment懒加载问题的项目

    综上所述,本项目“解决fragment懒加载问题的项目”主要关注如何在多Tab场景下,通过生命周期方法和可见性判断,实现Fragment的按需加载,优化资源使用,提升用户体验。在实践中,还需要结合异步加载、数据缓存、...

    Android 懒加载

    当一个Activity包含多个Fragment时,如果每个Fragment都在启动时立即加载其所有数据和视图,可能会导致性能问题,尤其是在设备资源有限的情况下。因此,使用懒加载策略,我们可以确保Fragment只在其可见或者需要时才...

    viewPager + fragment实现懒加载并且只加载一次

    本教程将详细介绍如何利用`ViewPager` 和 `Fragment` 实现懒加载且只加载一次的数据策略。 1. **ViewPager 基础** `ViewPager` 是`android.support.v4.view.ViewPager` 或 `androidx.viewpager.widget.ViewPager` ...

    基于jquery的懒加载原理代码示例

    在懒加载场景下,我们需要监听滚动事件(scroll)。当用户滚动页面时,我们会检查是否有新的内容进入了视口,如果是,则进行加载。在`loadpage.js`中,可以找到类似以下的代码片段: ```javascript $(window).on('...

    基于vue2的图片懒加载项目后台代理百度图片api接口实现滚动懒加载当前视图区域加载

    在本文中,我们将深入探讨如何使用Vue2框架和"vue-lazyload"库来实现一个图片懒加载项目,其中涉及到后台代理以及与百度图片API的交互。图片懒加载是一种优化网页性能的技术,它只在图片进入用户视口时才加载,从而...

    原生js实现懒加载.zip

    在本文中,我们将深入探讨如何使用原生JavaScript实现懒加载技术,特别关注如何模拟美团外卖应用中的滚动加载效果。懒加载是一种优化网页性能的技术,它只在用户滚动到页面可见区域时才加载图像或其他资源,从而减少...

    Objective-C 懒加载getter 生成器(开发辅助工具)

    总的来说,“Objective-C 懒加载getter 生成器”是一个实用的开发工具,它能够帮助开发者快速、准确地创建符合懒加载原则的getter方法,从而提高代码性能并优化内存管理。对于那些经常处理大型数据或者复杂对象的...

    Android代码-douBanList(滚动到底部加载新的软缓存懒加载.zip

    在Android的上下文里,特别是在处理大型列表或视图时,懒加载可以显著提升性能。当用户滚动到屏幕可视区域外的数据时,这些数据才会被加载,而不是在启动应用时一次性加载所有数据。这降低了内存占用,加快了初始...

    Fragment+ViewPager+Tab延迟加载(懒加载)页面

    `ViewPager`则是一种可以左右滑动浏览多个`Fragment`的视图容器,它使得用户可以在不离开当前界面的情况下查看相邻的页面。 懒加载(Lazy Load)是一种设计模式,主要应用于数据或视图的加载,它的核心思想是在需要...

    fragment懒加载例子

    Fragment懒加载是Android开发中的一个重要概念,特别是在设计大型、复杂的应用程序时,它能有效提高应用性能和用户体验。在Android中,Fragment是一个可重用的UI组件,可以在Activity中添加和管理,通常用于创建可...

Global site tag (gtag.js) - Google Analytics