SpringMVC-01-SpringMVC快速入门案例
1、依赖坐标
需要 servlet 和 spring-webmvc 依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.20.RELEASE</version>
</dependency>
2、定义 Controller
这里用一个 UserController 类为例,其中有一个 save 方法
在类上需要注解 @Controller,使 Spring 能够扫描到
类内的操作方法需要注解 @RequestMapping 来设置访问路径,以及 @ResponseBody 注解设置返回类型(但这个注解是无内容的)
@Controller
public class UserController {
// 设置当前操作的访问路径
@RequestMapping("/save")
// 设置当前操作的返回值类型
@ResponseBody
public String save() {
System.out.println("user save...");
return "Hello MVC!";
}
}
3、SpringMvcConfig 配置类
创建 springmvc 的配置文件,加载 controller 对应的 bean
需要注解 @Configuration 和 @ComponentScan 设置要扫描的包
@Configuration
@ComponentScan("com.mzz.controller")
public class SpringMvcConfig {
}
4、servlet 容器配置类
要继承 AbstractDispatcherServletInitializer 抽象类,并重写其中的三个方法
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {
// 加载 springMVC 容器配置
@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringMvcConfig.class); // 注册 springmvc 配置类
return ctx;
}
// 设置哪些请求归属 springMVC 处理
@Override
protected String[] getServletMappings() {
return new String[]{"/"}; // 所有请求
}
// 加载 spring 容器配置,可先返回空
@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
最后用 Tomcat 或者 Tomcat 的 Maven 插件启动即可