`

Spring3 MVC

阅读更多

最近公司要求开发个新系统!
并且 不沿用以前的框架了!闲时 用了下Spring3 的 MVC
感觉还可以!大有前途! 尤其是加上3.0 以后的 加上annotation + rest 如虎添翼!
个人理解比较狭窄!不当之处!请绕过!
以下是 网上当的一些资料和 自己的一些总结:

Java代码

   1. 前奏: 
   2.   导入相应的包 
   3.    
   4. 1.0 默认的mvc 配置文件: 
   5.       web.xml 中定义了一个名为 annomvc 的 Spring MVC 模块,按照 Spring MVC 的契约, 
   6.         需要在 WEB-INF/annomvc-servlet.xml 配置文件中定义 Spring MVC 模块的具体配置 
   7.         
   8. 2.0 包级别的扫描,和 注释的功能的开启: 
   9.     <context:component-scan base-package="com.***.web"/> 
  10.     <bean               class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 
  11.     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 
  12.     <context:annotation-config/> 
  13.  
  14. 3.0 定义视图的前缀 ,后缀   
  15.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"     

              p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> 

前奏:
  导入相应的包
 
1.0 默认的mvc 配置文件:
      web.xml 中定义了一个名为 annomvc 的 Spring MVC 模块,按照 Spring MVC 的契约,
        需要在 WEB-INF/annomvc-servlet.xml 配置文件中定义 Spring MVC 模块的具体配置
      
2.0 包级别的扫描,和 注释的功能的开启:
    <context:component-scan base-package="com.***.web"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
    <context:annotation-config/>

3.0 定义视图的前缀 ,后缀 
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>



Java代码

   1. @Controller     // 注释为controller 
   2. @Autowired    // 注入属性 去xml 找那个像对应的 bean 类型匹配 
   3.  
   4. 1.0  处理多个请求 
   5.  |:   在每个方法前面使用   @RequestMapping("/名称.do")   不同的名称 处理不同的请求  缺点:xxx.do 太多          不利于 跟踪 ,复制程度增加 
   6.  ||:  在controller 类名前面定义  @RequestMapping("/名称.do")在方法前添加注解  
   7.  @RequestMapping(params = "method=listAllBoard")  则处理 有此参数的请求 多一个参数思路清楚 
   8.  
   9. 2.0  处理不同的http 请求: 
  10.  |:   在方法前面增加注释:RequestMethod 有POST,get,put.... 如:@RequestMapping(params = "method=createTopic",method = RequestMethod.POST) 
  11.              
  12. 3.0  参数处理:(默认这样处理,也是  约定优于设计原则 自动转换类型) 自由选择 
  13.   |:   普通属性: 如果入参是基本数据类型(如 int、long、float 等),URL 请求参数中一定要有对应的参数,否 则将抛出 TypeMismatchException 异常,提示无法将 null 转换为基本数据类型。 
  14.  ||:  对象及属性: Userbean 的 userId 属性的类型是基本数据类型,但如果 URL 中不存在 userId 参数, Spring 也不会报错,此时 Userbean.userId 值为 0。如果 Userbean 对象拥有一个 dept.deptId 的级联 属性,那么它将和 dept.deptId参数绑定。  
  15.   

 

 

  16. 4.0  参数处理:(明确指定参数 匹配 自动转换类型) 
  17.      |:   普通属性 和 对象及属性:  @RequestParam("id") 注解,所以它将和 id 的 URL 参数绑定 
  18.  
  19.   5.0  绑定域中的某个属性:  
  20.      |:  request     ModelMap 类,它作为通用的模型数据承载对象,传递数据供视图所用 代替 request.setParam 
  21.      ||: Session     @SessionAttributes("currUser") //①将ModelMap中属性名为currUser的属性 放到Session属性列表中,以便这个属性可以跨请求访问 (类名前面写) 
  22.      |||:session     多个参数 !@SessionAttributes({“attr1”,”attr2”})。   
  23.      ||||: 取值绑定到方法上   (@ModelAttribute("currUser") User user)           

@Controller     // 注释为controller
@Autowired      // 注入属性 去xml 找那个像对应的 bean 类型匹配

1.0  处理多个请求
     |:   在每个方法前面使用   @RequestMapping("/名称.do")   不同的名称 处理不同的请求  缺点:xxx.do 太多不利于 跟踪 ,复制程度增加
     ||:  在controller 类名前面定义  @RequestMapping("/名称.do")在方法前添加注解
          @RequestMapping(params = "method=listAllBoard")  则处理 有此参数的请求 多一个参数思路清楚

2.0  处理不同的http 请求:
     |:   在方法前面增加注释:RequestMethod 有POST,get,put.... 如:@RequestMapping(params = "method=createTopic",method = RequestMethod.POST)
           
3.0  参数处理:(默认这样处理,也是  约定优于设计原则 自动转换类型) 自由选择
     |:   普通属性: 如果入参是基本数据类型(如 int、long、float 等),URL 请求参数中一定要有对应的参数,否则将抛出 TypeMismatchException 异常,提示无法将 null 转换为基本数据类型。
     ||:  对象及属性: Userbean 的 userId 属性的类型是基本数据类型,但如果 URL 中不存在 userId 参数,Spring 也不会报错,此时 Userbean.userId 值为 0。如果 Userbean 对象拥有一个 dept.deptId 的级联属性,那么它将和 dept.deptId参数绑定。
 
4.0  参数处理:(明确指定参数 匹配 自动转换类型)
     |:   普通属性 和 对象及属性:  @RequestParam("id") 注解,所以它将和 id 的 URL 参数绑定

5.0  绑定域中的某个属性:
     |:  request     ModelMap 类,它作为通用的模型数据承载对象,传递数据供视图所用 代替 request.setParam
     ||: Session     @SessionAttributes("currUser") //①将ModelMap中属性名为currUser的属性 放到Session属性列表中,以便这个属性可以跨请求访问 (类名前面写)
     |||:session     多个参数 !@SessionAttributes({“attr1”,”attr2”})。 
     ||||: 取值绑定到方法上   (@ModelAttribute("currUser") User user)         





Java代码

   1. 一些常用的注解  及解释: 
   2. 1.0  @Autowired 将分别寻找和它们类型匹配的 Bean 注入 ----------  ByType 
   3.       如果有多个匹配结果 或者没结果 BeanCreationException 异常 
   4.      @Autowired(required = false),这等于告诉 Spring:在找不到匹配 Bean 时也不报错。 
   5.      @Qualifier 注释指定注入 Bean 的名称             ----------  ByName 
   6.       
   7. 2.0  @Autowired 可以对成员变量、方法以及构造函数进行注释, 
   8.      @Qualifier 的标注对象是成员变量、方法入参、构造函数入参 
   9.      @Autowired 和 @Qualifier 结合使用时,自动注入的策略就从 byType 转变成 byName  
  10.  
  11. 3.0  @Resource 默认按 byName 自动注入 

一些常用的注解  及解释:
1.0  @Autowired 将分别寻找和它们类型匹配的 Bean 注入 ----------  ByType
      如果有多个匹配结果 或者没结果 BeanCreationException 异常

 

 

@Autowired(required = false),这等于告诉 Spring:在找不到匹配 Bean 时也不报错。
     @Qualifier 注释指定注入 Bean 的名称             ----------  ByName
    
2.0  @Autowired 可以对成员变量、方法以及构造函数进行注释,
     @Qualifier 的标注对象是成员变量、方法入参、构造函数入参
     @Autowired 和 @Qualifier 结合使用时,自动注入的策略就从 byType 转变成 byName

3.0  @Resource 默认按 byName 自动注入

 

文澜阁社区 

分享到:
评论

相关推荐

    Spring3 MVC 深入研究

    《Spring3 MVC 深入研究》 Spring3 MVC是Spring框架的重要组成部分,它是一个用于构建Web应用程序的轻量级、模型-视图-控制器(MVC)框架。本篇文章将深入探讨Spring3 MVC的核心概念、工作原理以及如何在实际项目中...

    spring3 MVC实战

    spring3 MVC实战

    spring3MVC 框架demo

    Spring3MVC是Spring框架的一个重要模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。这个框架使得开发者可以更轻松地处理HTTP请求、数据绑定、验证以及视图渲染等任务。在"spring3MVC框架demo"中,...

    spring3mvc导入包

    Spring3MVC是Spring框架的一个重要模块,用于构建基于Java的Web应用程序。它提供了一个模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据处理和用户界面分离,实现更清晰的代码组织和更高的可维护性。在这个...

    spring3 mvc jar

    标题 "spring3 mvc jar" 指涉的是Spring框架的第三个主要版本的MVC模块。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据处理和用户...

    Spring3 MVC + POI 实现 Excel与MySQL 的导入导出

    本主题聚焦于如何利用Spring3 MVC框架结合Apache POI库来实现在Java环境中Excel与MySQL数据库之间的数据导入与导出。 Spring3 MVC是Spring框架的一个组件,专门用于构建Web应用程序,它提供了模型-视图-控制器(MVC...

    Spring3MVC注解(附实例).doc

    Spring3MVC 注解详解 Spring3MVC 注解是基于 Java 的 Spring 框架中的一种编程模型,旨在简化 Web 应用程序的开发。下面将详细介绍 Spring3MVC 注解的概念、实现机制、配置方法和实践示例。 Spring3MVC 注解的...

    spring3mvc

    很详细的介绍了spring3 各功能组件。非常不错。

    Spring3 MVC 实例

    Spring3 MVC是一个强大的Java web开发框架,用于构建高效、可维护的Web应用程序。在这个实例中,我们将深入探讨Spring MVC的核心概念和技术,以及如何实现表单验证功能。 首先,Spring MVC是Spring框架的一部分,它...

    spring3 mvc实例

    Spring3 MVC是一个强大的Java web开发框架,由Spring IO项目维护,它为构建基于模型-视图-控制器(MVC)架构的应用程序提供了全面的支持。在本实例中,我们将会探讨Spring3 MVC的核心特性、配置、控制器、视图解析...

    Spring3MVC和jQuery的集成

    Spring3 MVC和jQuery是两种非常重要的Web开发技术。Spring3 MVC是Spring框架的一部分,用于构建后端MVC架构的应用程序,而jQuery则是一种强大的JavaScript库,简化了前端的DOM操作、事件处理和Ajax交互。本篇文章将...

    Spring3MVC真正入门资料.doc

    Spring3MVC真正入门资料 本文将详细介绍 Spring3MVC 框架的入门知识,包括核心类与接口、核心流程图、DispatcherServlet 说明等。 核心类与接口 在 Spring3MVC 框架中,有几个重要的接口与类,了解它们的作用可以...

    Spring3mvc和hibernate整合示例代码.zip

    Spring3 MVC 和 Hibernate 是两个非常重要的 Java 开发框架,它们分别用于构建 Web 应用的模型-视图-控制器(MVC)架构和对象关系映射(ORM)。本示例代码将展示如何将这两个框架整合在一起,以实现高效、灵活的后端...

    spring3 mvc demo

    【Spring3 MVC 框架详解】 Spring MVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。在Spring3版本中,这个框架已经相当成熟,为开发者提供了强大的功能和灵活性。让我们深入...

    spring3mvc真正入门资料

    ### Spring3MVC真正入门资料知识点详解 #### 一、Spring3MVC简介与优势 Spring3MVC作为Spring框架中的一个重要组成部分,是一款基于Java的轻量级Web应用框架,它简化了传统的Web应用程序开发过程,并提高了开发...

    spring3mvc所需jar包

    Spring 3 MVC 是一个强大的Java Web开发框架,用于构建基于模型-视图-控制器(MVC)模式的应用程序。这个框架极大地简化了处理HTTP请求、数据绑定、验证、国际化以及与后端服务交互等任务。在Spring 3版本中,引入了...

    spring3 mvc + mybatis + jquery easyui例子

    《构建基于Spring3 MVC、MyBatis和jQuery EasyUI的权限管理系统》 在现代Web开发中,集成多种技术构建高效且功能丰富的应用是常见的实践。本项目实例——"spring3 mvc + mybatis + jquery easyui例子",就是这样一...

    spring3 MVC实战,手工搭建Spring3项目

    【Spring3 MVC实战,手工搭建Spring3项目】 Spring3 MVC是一个强大的Java框架,用于构建Web应用程序,它提供了模型-视图-控制器(MVC)架构,使得开发人员能够更高效地管理和组织应用代码。本实战指南主要面向初学...

Global site tag (gtag.js) - Google Analytics