Spring Controller 配置详解

Spring Controller 简介
Spring Controller 是 Spring MVC 框架中的核心组件之一,主要负责处理用户的请求,并返回相应的响应,在 Spring MVC 框架中,Controller 负责接收用户的请求,调用业务逻辑处理,并返回视图或者数据给前端。
Spring Controller 配置步骤
创建 Controller 类
需要创建一个 Controller 类,该类需要继承自 Spring MVC 提供的 Controller 接口,org.springframework.stereotype.Controller。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class SampleController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "Hello, World!";
}
}配置 Controller 注解
在 Spring MVC 中,可以使用 @Controller 注解来标注一个类为 Controller,使用 @RequestMapping 注解来映射请求路径。

配置视图解析器
Spring MVC 使用视图解析器来解析返回的视图名称,并将其转换为实际的视图对象,在 Spring MVC 中,默认的视图解析器是 InternalResourceViewResolver。
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.viewResolver(new InternalResourceViewResolver());
}
}配置控制器扫描
在 Spring MVC 中,可以使用 @ComponentScan 注解来指定控制器所在的包,Spring MVC 会自动扫描该包下的所有 Controller 类。
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("com.example.controller")
public class AppConfig {
}配置处理器映射器
处理器映射器负责将请求的 URL 映射到对应的 Controller 方法,在 Spring MVC 中,默认的处理器映射器是 RequestMappingHandlerMapping。
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
}Spring Controller 配置示例

以下是一个简单的 Spring Controller 配置示例:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class SampleController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "Hello, World!";
}
}
@Configuration
@ComponentScan("com.example.controller")
public class AppConfig {
}
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
}FAQs
问:Spring MVC 中为什么要使用 Controller?
答:Spring MVC 使用 Controller 来处理用户的请求,调用业务逻辑处理,并返回视图或者数据给前端,通过使用 Controller,可以将业务逻辑和视图分离,使得代码更加清晰、易于维护。
问:如何配置 Spring MVC 的视图解析器?
答:在 Spring MVC 中,可以通过实现
ViewResolver接口或者使用InternalResourceViewResolver类来配置视图解析器,在配置文件中,可以使用viewResolver方法来设置视图解析器。@Override public void configureViewResolvers(ViewResolverRegistry registry) { registry.viewResolver(new InternalResourceViewResolver()); }
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/127280.html
