学科分类
目录
SSM框架

@Controller注解类型

org.springframework.stereotype.Controller注解类型用于指示Spring类的实例是一个控制器,其注解形式为@Controller。该注解在使用时不需要再实现Controller接口,只需要将@Controller注解加入到控制器类上,然后通过Spring的扫描机制找到标注了该注解的控制器即可。

@Controller注解在控制器类中的使用示例如下:

package com.itheima.controller;
import org.springframework.stereotype.Controller;
...
@Controller
public class FirstController{
     ...
}

为了保证Spring能够找到控制器类,还需要在Spring MVC的配置文件中添加相应的扫描配置信息,具体如下:

1) 在配置文件的声明中引入spring-context;

2) 使用<context:component-scan>元素指定需要扫描的类包。

一个完整的配置文件示例如文件1所示。

文件1 springmvc-config.xml

 1    <?xml version="1.0" encoding="UTF-8"?>
 2    <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6     http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 7     http://www.springframework.org/schema/context 
 8     http://www.springframework.org/schema/context/spring-context-4.3.xsd">
 9        <!-- 指定需要扫描的包 -->
 10        <context:component-scan base-package="com.itheima.controller" />
 11    </beans>   

在文件1中,<context:component-scan>元素的属性base-package指定了需要扫描的类包为com.itheima.controller。在运行时,该类包及其子包下所有标注了注解的类都会被Spring所处理。

与实现了Controller接口的方式相比,使用注解的方式显然更加简单。同时,Controller接口的实现类只能处理一个单一的请求动作,而基于注解的控制器可以同时处理多个请求动作,在使用上更加的灵活。因此,在实际开发中通常都会使用基于注解的形式。

注意:

使用注解方式时,程序的运行需要依赖Spring的AOP包,因此需要向lib目录中添加spring-aop-4.3.6.RELEASE.jar,否则程序运行时会报错。

点击此处
隐藏目录