SpringMVC整合,出现注解没有起作用的情况处理

对于SpringMVC整合过程中注解没有起作用的情况,处理方法如下:

对于SpringMVC整合过程中注解没有起作用的情况,处理方法如下:

  1. 确认是否开启注解扫描

在 SpringMVC 的配置文件中,需要先配置注解扫描,才能让 SpringMVC 自动识别使用了注解的类和方法。配置示例如下:

<context:component-scan base-package="com.example.controller" />

其中,base-package 属性的值为注解所在的包路径。

  1. 确认依赖是否完整

如果注解扫描已经配置,但是注解仍然没有被识别,那么需要确认项目的依赖是否完整。一般来说,使用 SpringMVC 框架需要引入以下依赖:

<!-- SpringMVC框架核心包 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

<!-- Spring框架核心包 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>

<!-- servlet-api包,用于处理HTTP请求和响应 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>${servlet-api.version}</version>
    <scope>provided</scope>
</dependency>

其中, spring.versionservlet-api.version 需要根据实际项目中使用的版本进行调整。

示例1:

现有一个Controller,代码如下:

@Controller
@RequestMapping("/test")
public class TestController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

当访问 /test/hello 页面时,发现页面出现 404 错误。解决方法如下:

  1. 确认是否开启注解扫描。在 SpringMVC 的配置文件中增加如下配置:
<context:component-scan base-package="com.example.controller" />
  1. 确认依赖是否完整。在项目的 pom.xml 文件中添加如下依赖:
<!-- SpringMVC框架核心包 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

<!-- Spring框架核心包 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>

<!-- servlet-api包,用于处理HTTP请求和响应 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>${servlet-api.version}</version>
    <scope>provided</scope>
</dependency>

示例2:

现有一个Controller,代码如下:

@Controller
public class TestController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

当访问 /hello 页面时,发现页面出现 404 错误。解决方法如下:

  1. 修改 @RequestMapping 的值为 "/",即 @RequestMapping("/")

  2. 修改 SpringMVC 的配置文件,增加对根路径的映射,代码如下:

<mvc:view-controller path="/" view-name="index"/>

其中,view-name 属性的值为根路径所对应的视图名称。

本文标题为:SpringMVC整合,出现注解没有起作用的情况处理

基础教程推荐