文档章节

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
spring springmvc mybatis maven 项目整合示例-导航页面

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

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

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

noteless
2016/02/24
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

没有更多内容

加载失败,请刷新页面

加载更多

React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
33分钟前
1
0
1、Mybatis连接池配置 和 Context.xml的配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
49分钟前
1
0
Android 界面漩涡扭曲动效实现

背景:之前偶然看到优酷有类似的页面切换动画效果。于是自己也打算来实现下这样的效果。 动效说明:点击界面中的任意位置,界面以点击位置作为中心点,开始以漩涡状态,扭曲,收缩。直到消失...

Carlyle_Lee
59分钟前
2
0
聊聊我怎么系统学习Linux技能并快速提高的

聊聊我怎么系统学习Linux技能并快速提高的 随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能。而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱...

linuxCool
今天
4
0
Android/Java 获取一个byte[]的真实编码,用于解决乱码问题

来源地址:https://blog.csdn.net/qq_31384551/article/details/81627840 一个byte数组,byte[] buf,是由一个字符串转换来的,如何判断字符串使用的是什么编码? Mozilla的一个组件提供了相应...

她叫我小渝
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部