`

Spring3.0 – 学习笔记 –MVC装配

阅读更多

Spring3.0 – 学习笔记 –MVC装配

------转载请注明出处  作者:小魔头

(未完待续)

1.Spring MVC 请求流程

   DispatcherServlet是绝对的核心控制在整个流程中

 

 

2. 配置方式:

    a.JavaConfig和自动隐式装配

    b.xml装配

 

3.JavaConfig显示和自动隐式装配Spring MVC

   3.1 DispatcherServlet及config

    a.在servlet3.0中,服务器容器根据查找javax.servlet.ServletContainerInitializer的实现来配置servlet容器,具体spring如何实现这里不深入研究

    b.只需要继承Spring的AbstractAnnotationConfigDispatcherServletInitializer, 并且重写如下3个方 法,就可以将DispatcherServlet配置到servlet容器中,其实上面的spring父类会同时创建DispatcherServlet and ContextLoaderListener,作用如下:

Protected String getServletMapping(){
    return new String[]{"/"};//MVC总入口,接受所有请求
}

 

 

    //ContextLoaderListener 将会配置RootConfig中的业务逻辑bean(service,DB)

Protected Class<?> getRootConfigClasses(){
    return new Class<?>{RootConfig.class};
}
   
   //DispatcherServlet 将会配置WebConfig种配置的MVC组件bean(控制器,视图解析器和处理器映射)
Protected Class<?> getRootConfigClasses(){
    return new Class<?>{RootConfig.class};
}
 

 

    c. 配置WebConfig,显示的声明配置控制器,视图解析器和处理器映射bean

        i.add @Configuration
        ii.add @EnableWebMvc -- 如果采用xml配置可以由<mvc:annotation-driven>来同样启动        springmvc注解相关的组件
        iii.add@ComponentScan({"com.package1","com.package2"})启动组件扫描,这样不仅可以加载在WebConfig中显示声明的控制器,同样可以载入外部@Controller注解的控制器

        iiii.显示配置视图解析器,代码如下,视图解析器就是根据servlet传入的视图名("home"),解析生成完整的视图路径("/WEB-INF/web/home.jsp")

        iiiii.配置静态资源处理servlet, 继承WebMvcConfigurerAdapter 并且重写configureDefaultServletHanding方法并且调用enable()方法来开启静态资源开关代码如下 

public class WebConfig extends WebMvcConfigurerAdapter{
      @bean
      public ViewResolver viewResolver(){
          InternalResourceViewResolver resolver = new InternalResourceViewResolver();
          resolver.setPrefix("/WEB-INF/web/");
          resolver.setSuffix(".jsp");
          resolver.setExposeContextBeansAsAttributes(true);
          return resolver;
      }
      public void configureDefaultServletHanding(DefaultServletHandlerConfigurer configurer){
          configurer.enable();
      }
}

 

    d.配置RootConfig,就是显示声明业务逻辑bean,同样add @ComponentScan来加载外部bean

 

   3.2 自动隐式Controller --控制器在处理完业务逻辑后,返回给servlet数据模型和视图名("home")

     a.add @Controller在类声明前,其实@Controller和@Component起到的作用是相同,只是语义更加明确

     b.add @RequestMapping(value="/service", method=GET),定义映射逻辑及方法,DispatcherServlet会根据映射器找到对应的controller

  • 大小: 1.5 MB
分享到:
评论

相关推荐

    Spring3.0学习笔记

    尚学堂的Spring学习笔记.doc可能包含对这些特性的详细解释、实例代码以及如何在实际项目中应用的指导,对于想要深入理解Spring 3.0的开发者来说是一份宝贵的参考资料。通过阅读这份笔记,你可以系统地学习Spring 3.0...

    Spring技术内幕 学习笔记

    《Spring技术内幕 学习笔记》是一份深入探讨Spring框架核心机制的学习资料,结合作者zzc1684在iteye博客上的博文,我们可以从中学习到Spring框架的多个重要知识点。Spring作为Java企业级应用开发的基石,其设计思想...

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    马士兵老师spring框架学习笔记

    马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...

    SpringCloud学习笔记

    【SpringBoot核心特性】 SpringBoot是Spring框架的一个扩展,它旨在简化Spring应用程序的开发过程,...这份学习笔记涵盖了SpringBoot的基础特性和SpringCloud的负载均衡实践,对于深入理解这两个技术有极大的帮助。

    spring指南学习笔记

    标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

    Spring全家桶知识笔记.pdf

    Spring全家桶包含的核心组件众多,如Spring Core Container(包括Bean Factory和Context模块)、Spring MVC、Spring JDBC、Spring ORM等。它们各自承担着不同的角色,共同构成Spring生态系统。Spring常用模块强调其...

    Spring框架,学习笔记,很优秀的资料

    这份学习笔记将带你深入理解Spring的精髓,包括它的起源、设计理念以及实际应用中的关键功能。 1. **Spring框架简介** Spring最初由Rod Johnson创建,目的是为了解决企业应用开发的复杂性,提供一种轻量级的容器,...

    Spring2.5、3.0、3.1轻松入门+中级+高级教程14合一

    - **基于注解的spring_3[1].0.x_MVC学习笔记**: 这份笔记将详细解释Spring 3.0.x版本中的注解驱动开发,包括依赖注入、AOP和数据绑定等。 - **Spring入门教程**: 这是Spring框架的基础教程,涵盖了Spring的核心概念...

    Spring2.5_学习笔记.doc.zip

    总的来说,《Spring2.5 学习笔记》这份文档将带领读者深入了解Spring2.5的各种核心特性,包括注解驱动的配置、依赖注入的优化、面向切面编程的实现、数据库访问的便捷性、Web MVC的改进以及SpEL的运用。通过对这些...

    spring ioc aop mvc boot-学习笔记.docx

    Spring框架是Java开发中不可或缺的一部分,它为开发者提供了强大的依赖注入(IOC)和面向切面编程(AOP)功能,以及用于构建Web应用程序的MVC框架。Spring Boot则是基于Spring框架构建的应用程序启动器,旨在简化...

    spring5学习笔记

    本学习笔记将深入探讨Spring 5的各个方面,包括基本概念、配置、核心组件以及最新特性。 首先,我们来了解一下Spring框架的核心概念。Spring的核心是IoC(Inversion of Control)容器,它负责管理对象的生命周期和...

    spring框架学习笔记

    本笔记将深入探讨Spring框架的核心概念和主要功能,帮助你全面理解并掌握这一强大的工具。 一、Spring概述 Spring是一个开源的Java平台,它提供了一个全面的编程和配置模型,用于现代Java应用。其核心是IoC容器,...

    spring2.5_学习笔记

    《Spring 2.5 学习笔记》 在IT领域,Spring框架是Java企业级应用开发的首选框架,而Spring 2.5是其发展历史中的一个重要里程碑。本笔记将深入探讨Spring 2.5的核心特性,帮助读者理解并掌握这一版本的精髓。 一、...

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

    SPRING学习笔记2

    Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...

    传智博客Spring框架2016版笔记资料(四天)

    《传智博客Spring框架2016版笔记资料(四天)》是针对Spring框架的一份详实学习资料,由知名教育机构传智播客在2016年推出,覆盖了Spring的核心概念和实际应用。这四天的课程笔记分别对应Spring_day01、Spring_day02...

    Spring2学习笔记

    在描述中提到的“Spring2学习笔记帮你完善管理SSH”,这里的SSH通常是指Struts、Spring和Hibernate的组合,这是一种经典的Java Web开发架构。 首先,我们来详细讲解Spring 2中的核心概念: 1. **依赖注入...

Global site tag (gtag.js) - Google Analytics