Spring与Web整合实例

 更新时间:2017年07月25日 09:01:11   投稿:jingxian   我要评论

下面小编就为大家带来一篇Spring与Web整合实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一 概述

1.整合目的

将所有对象的创建与管理任务交给Spring容器,降低程序的耦合度。

2.整合途径

将Spring容器注入到Web容器中。

3.具体实现

使用ServletContextListener监听ServletContext,当ServletContexxt创建时同时创建Spring容器,并将创建完成的容器放到ServletContext即application中,在Web中获取Spring容器,就可以访问对象了。ContextLoadListener是ServletContextListener的一个实现类,配置:

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

默认情况下,Spring的配置文件只能放在WEB-INF目录下,名称为applicationContext.xml,可以在web.xml文件中修改,将配置文件放在src目录下:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:xxxx.xml</param-value>
</context>

4.获取Spring容器

WebApplicationContext context=WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());

二 延时加载问题

1.原因

视图层调用Service的方法从数据库中加载对象,如果Dao实现层采用了延时加载,返回一个包含null对象的代理,在视图层访问对象的详情时,Service层已经执行完毕,事务已关闭,对象为空,就无法获取对象的详情。

2.解决方法

将Session与请求线程绑定,允许在事务关闭以后完成延时加载任务。

3.具体实现

在web.xml中配置:

<filter>
  <filter-name>openSessionInViewFilter</filter-name>
  <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>opernSessionInViewFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

以上这篇Spring与Web整合实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring4新特性之web开发增强

    spring4新特性之web开发增强

    这篇文章主要介绍了spring4新特性之web开发增强的相关资料,需要的朋友可以参考下
    2017-09-09
  • java selenium Selenium IDE介绍及用法

    java selenium Selenium IDE介绍及用法

    本文主要介绍java selenium Selenium IDE,这里整理了相关资料和介绍如何安装 Selenium IDE和使用方法,有需要的小伙伴可以参考下
    2016-08-08
  • Java基础教程之构造器与方法重载

    Java基础教程之构造器与方法重载

    这篇文章主要介绍了Java基础教程之构造器与方法重载,构造器可以初始化数据成员,还可以规定特定的操作,本文还对方法重载做了介绍,需要的朋友可以参考下
    2014-08-08
  • 简单谈一谈Java中的Unsafe类

    简单谈一谈Java中的Unsafe类

    其实Java官方不推荐使用Unsafe类,因为官方认为,这个类别人很难正确使用,非正确使用会给JVM带来致命错误。但还是要会使用,下面这篇文章就来给大家简单的谈一谈关于Java中Unsafe类的相关资料,需要的朋友可以参考下
    2018-05-05
  • 使用spring框架中的组件发送邮件功能说明

    使用spring框架中的组件发送邮件功能说明

    Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。这篇文章主要介绍了使用spring框架中的组件发送邮件,需要的朋友可以参考下
    2017-11-11
  • 详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用

    详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用

    这篇文章主要介绍了详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Java实现的傅里叶变化算法示例

    Java实现的傅里叶变化算法示例

    这篇文章主要介绍了Java实现的傅里叶变化算法,结合具体实例形式分析了基于Java的傅里叶变化算法定义与使用相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Spring根据XML配置文件 p名称空间注入属性的实例

    Spring根据XML配置文件 p名称空间注入属性的实例

    下面小编就为大家分享一篇Spring根据XML配置文件 p名称空间注入属性的实例,具有很好的参考价值。希望对大家有所帮助
    2017-11-11
  • 使用java实现LIS算法,出操队形的问题

    使用java实现LIS算法,出操队形的问题

    下面小编就为大家带来一篇使用java实现LIS算法,出操队形的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Spring Boot开发Web应用详解

    Spring Boot开发Web应用详解

    这篇文章主要介绍了Spring Boot开发Web应用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论