美文网首页
Spring8-使用注解方式编写Handler

Spring8-使用注解方式编写Handler

作者: 我相信你爱过gg | 来源:发表于2017-05-06 23:43 被阅读110次

    使用注解方式进行开发我们需要在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的包.

    相关文章

      网友评论

          本文标题:Spring8-使用注解方式编写Handler

          本文链接:https://www.haomeiwen.com/subject/gdiytxtx.html