Spring8-使用注解方式编写Handler

使用注解方式进行开发我们需要在Spring MVC配置文件中加入如下配置,它的作用是告诉Spring我们要启用注解.

<mvc:annotation-driven></mvc:annotation-driven>

并且会帮我们自动注册一下Bean
RequestMappingHandlerMapping
BeanNameUrlHandlerMapping
RequestMappingHandlerAdapter
HttpRequestHandlerAdapter
SimpleControllerHandlerAdapter
ExceptionHandlerExceptionResolver
ResponseStatusExceptionResolver
DefaultHandlerExceptionResolver
其中
RequestMappingHandlerMapping 是注解映射器
RequestMappingHandlerAdapter 是注解适配器

使用注解编写Handler

这里我们还是修改一下我们之前的那个TestController

package cc.test;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


//使用Controller注解标识一个控制器
@Controller
public class TestController{

    //@RequestMapping实现对testMethod方法和url进行映射
    //注意:@RequestMapping注解中的value值可以随便指定的但是要有意义,只不过习惯写成方法名而已.
    @RequestMapping(value = "testMethod")
    public ModelAndView testMethod(){
        //例如我们的这个测试的Handler是用来做查询用户测试的
        //这里会调用service的查询用户的功能.

        //这个方法需要返回一个ModelAndView对象所以我们创建一个.
        ModelAndView modelAndView = new ModelAndView();

        //这个方法相当于request的setAttribute()方法.
        modelAndView.addObject("key", "value");

        //指定视图
        //例如我们在/WEB-INF/jsp/test.jsp页面,所以我们的视图名称就要写成如下.
        modelAndView.setViewName("/WEB-INF/jsp/test.jsp");
        return modelAndView;
    }
}

这样我们就使用注解的方式实现了一个Handler,当然这个Handler 中可以有多个方法,只要按照上面的方式进行编写就可以.

加载Handler

两种方式
第一种方式就像之前的那样通过配置bean的方式进行加载.

<bean class="cc.test.TestController" />

bean标签中的name属性可以去掉,因为url在Handler中已经做过了.

第二种方式使用组建扫描

<context:component-scan base-package="cc.test"/>

让Spring扫描我们的Handler的包.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • 阳台上的米兰开了,经了一个冬比去年刚送过来时越发的茂盛。 记得去年这个时候,朋友为了我的生日累的哼哧哼哧搬上来,心...
    妖妖z阅读 930评论 20 26
  • 在ubuntu中,先安装git // 下载$ wget http://nodejs.org/dist/v0.10....
    风暴英雄阅读 664评论 0 1