首页 > 代码库 > SpringMvc 控制器注解简介
SpringMvc 控制器注解简介
Spring2.5之前,我们是通过实现Control接口或实现来定义我们的处理器类。
Spring2.5引入了注解处理器支持,通过@controller和@requestMapping注解定义我们的类,并提供了一组强大的注解:
需要通过处理器映射
DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller 和@RequestMapping注解的处理器。
@controller用于标识是处理器类
@RequestMapping:请求到处理器功能方法的映射规则;
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
@ModelAttribute:请求参数到命令对象的绑定;
Spring3.0
使用了新的HandlerMapping和HandlerAdapter支持@Controller和@RequestMapping注解处理器
新的@Contoller和@RequestMapping注解支持类:处理器映射RequestMappingHandlerMapping
和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5开始的处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter
下面我们来了解下基本的注解
处理器的映射分配以下几种
- URL路径映射:使用URL映射请求到处理器的功能处理方法;
- 请求方法映射限定:如限定功能处理方法只处理GET请求;
- 请求参数映射限定:如限定只处理包含“abc”请求参数的请求;
- 请求头映射限定:如限定只处理“Accept=application/json”的请求
控制器的实现
1定义处理器@Controller
@Controller ///①将一个POJO类声明为处理器 @RequestMapping("/ExamQueryQuestion") ///②请求URL到处理器功能处理方法的映射 public classQueryQuestionController { }
1.1窄化请求映射@RequestMapping
http://192.168.24.9:8080/itoo-exam-questionbankmanage-web/ExamQueryQuestion/toQuestionTypesExcel
@Controller ///①将一个POJO类声明为处理器
@RequestMapping("/ExamQueryQuestion") ///通用请求前缀
public class QueryQuestionController {
@RequestMapping("/toQuestionTypesExcel")
public StringtoQuestionTypesExcel(HttpServletRequest request,
HttpServletResponse resposne) {
return"/ExamQueryQuestion";
}
}
可以通过在一个POJO类上放置@Controller或@RequestMapping,即可把一个POJO类变身为处理器;
2Spring配置文件spring-mvc.xml
<!--Spring3.1开始的注解 HandlerMapping --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!--Spring3.1开始的注解 HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
3视图解析器的配置
还是使用之前的org.springframework.web.servlet.view.InternalResourceViewResolver。
4处理器的配置
<!-- 处理器 --> <beanclass="com.tgb.itoo.exam.questionbankmanage.controller.QueryQuestionController"/>
只需要将处理器实现类注册到spring配置文件即可,spring的DefaultAnnotationHandlerMapping或RequestMappingHandlerMapping能根据注解@Controller或@RequestMapping自动发现。
小结:
本内容是Spring其中的一小部分,其内容为简单的注入方法,不再有配置文件,当然前期学习的配置文件方式的注入也是各有千秋的,理解起来基本不多什么,简单记录两种方式的学习。
SpringMvc 控制器注解简介