文档章节

Spring + SpringMVC 整合

宿舍楼顶
 宿舍楼顶
发布于 2015/08/26 19:21
字数 726
阅读 25
收藏 0

1. 自己的理解

  •     spirngmvc有自己的容器,Spring 也有自己的IOC容器,在整合的时候如何处理呢?

    在网上查了资料,可以知道,SpringMVC 主要的作用是拦截客户端的请求,之后交给Controller, Controller再调用service层; 这样,我们在整合的时候就可以这样来处理了:

  • SpringMVC IOC 容器管理controller bean,其他bean 由Spring管理,这样就可以解决了
  • SpringMVC IOC 容器和 Spring IOC 容器有什么管理呢?

  • 在网上查了一些资料后,知道SpringMVC IOC 管理的bean 可以调用 Spring 管理的bean,反之,Spring中的 bean 不能调用 SrpingMVC中的bean; 总结得出, Spring 容器 是SpringMVC 容器的父类。  具体原因应该可以查看源代码,但是目前实力不够,所以没去看。

2. 具体步骤:

  • 引用的jar包:基本和Spring的架构包不变,主要添加了spring 源码中没有的jar包:commons-logging  standard

  • web.xml 文件


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SpringMVCHibernate</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:config/spring-bean.xml</param-value>
  </context-param>
  
  <listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置SpringMVC dispatchServlet -->
  <servlet>
   <servlet-name>springMVC</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:config/spring-mvc.xml</param-value>
      </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
      <servlet-name>springMVC</servlet-name>
      <url-pattern>*.do</url-pattern>
  </servlet-mapping>
<!-- 配置编码 -->
  <filter>  
        <filter-name>encodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
    </filter> 
    <filter-mapping>  
        <filter-name>encodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>
    
</web-app>
  • Springmvc 配置文件


  • <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"    
     xmlns:context="http://www.springframework.org/schema/context"    
     xmlns:p="http://www.springframework.org/schema/p"  
     xmlns:mvc="http://www.springframework.org/schema/mvc"    
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
     xsi:schemaLocation="http://www.springframework.org/schema/beans    
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
          http://www.springframework.org/schema/context    
          http://www.springframework.org/schema/context/spring-context-3.0.xsd    
          http://www.springframework.org/schema/mvc    
          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
     
       <!-- 配置自动扫描的包,自动构建bean -->
       <!-- 
          Spring 和 SpringMVC 整合的时候的两种方法
          1. 将spring IOC 和 SpringMVC IOC 容器管理的 bean 没有重合的部分
          2. 使用特定的标签来区分管理的bean
        -->
       <context:component-scan base-package="com.shangshe.controller" ></context:component-scan>
     <!--   用 filter 扫描特定的注解    :  只扫描 controller 和 controllerAdvice(异常)标签
       <context:component-scan base-package="com.shangshe" use-default-filters="true">
          <context:include-filter type="annotation" 
            expression="org.springframework.stereotype.Controller"/>
          <context:include-filter type="annotation" 
             expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
       </context:component-scan>
       
        -->
       
       
       <!-- 配置视图解析器 -->
       <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/" />
          <property name="suffix" value=".jsp" />
       </bean>
       
       <!-- 弄明白这2个标签是干什么用的
       <mvc:default-servlet-handler/>
       <mvc:annotation-driven></mvc:annotation-driven>
        -->
    </beans>
  • spring 配置文件


  • <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"    
     xmlns:context="http://www.springframework.org/schema/context"    
     xmlns:p="http://www.springframework.org/schema/p"  
     xmlns:mvc="http://www.springframework.org/schema/mvc"    
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
     xsi:schemaLocation="http://www.springframework.org/schema/beans    
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
          http://www.springframework.org/schema/context    
          http://www.springframework.org/schema/context/spring-context-3.0.xsd    
          http://www.springframework.org/schema/mvc    
          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
          
          <!-- 自动构建 bean -->
          <context:component-scan base-package="com.shangshe.service" />
          
          <!-- 整合其他框架  -->
          
          
    </beans>

© 著作权归作者所有

共有 人打赏支持
宿舍楼顶
粉丝 1
博文 14
码字总数 6214
作品 0
广州
程序员
spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包

下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the Modules section of the reference documentation. Their ......

noteless
2016/02/24
0
0
springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试

包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml

noteless
2016/02/24
0
0
spring springmvc mybatis maven 项目整合示例-导航页面

spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途...

noteless
06/29
0
0
springmvc 项目完整示例03 小结

利用spring 创建一个web项目 大致原理 利用spring的ioc 原理,例子中也就是体现在了配置文件中 设置了自动扫描注解 配置了数据库信息等 一般一个项目,主要有domain,dao,service,controller这几...

noteless
2016/02/24
0
0
Spring经典视频教程大集合

Spring经典视频教程大集合 Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Sprin...

IT小白白
2012/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学hadoop需要什么基础

最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题。这中间到底经历过什么只怕也就是只有经过的人才会体会到吧。前几天看到有个人问“学hadoo...

左手的倒影
5分钟前
0
0
LOADING Redis is loading the dataset in memory

Redis出现错误 LOADING Redis is loading the dataset in memory 原因是: redis中dump.rdb文件到达3G时,所有redis的操作都会抛出此异常。 解决方法: redis.conf中 maxmemory 调大。 另外一...

swingcoder
5分钟前
0
0
闪屏页设置

相信每个app都需要一个闪屏页 就是一个开始页面 对于新手来说 可能就直接一个activity 弄个背景图片 ,细心地同学也许会发现 每次启动 应用程序的时候 一开始显示的不是那个设置的背景图片 ...

王先森oO
10分钟前
0
0
解析Excel

import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import or......

开源中国封号找我
15分钟前
0
0
pandas不能在pycharm中使用plot()方法显示图像的解决方法

最近用了pycharm,感觉还不错,就是pandas中Series、DataFrame的plot()方法不显示图片就给我结束了,但是我在ipython里就能画图 以前的代码是这样的 import matplotlib.pyplot as pltfrom p...

kipeng300
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部