目录
主要目的:
1. Spring web 项目搭建
2. 添加依赖
3. 配置插件
4. 配置设置类
5. 编写controller层类
6. 编写测试的http请求
主要目的:
创建一个spring web项目;
创建控制类;
掌握如何配置MVC;
编写http请求用例,模拟后端读取数据并做处理。
1. Spring web 项目搭建
项目创建好的一个文件结构
2. 添加依赖
依赖添加完成记得刷新maven下载依赖!
<!-- Junit 测试依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- Spring MVC 依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.0</version>
</dependency>
<!-- Lombok 依赖,用于减少Java的样板代码 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!-- Jackson JSON处理库的核心依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.13.1</version>
</dependency>
<!-- Jackson 数据绑定库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
<!-- Jackson 注解库 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.13.1</version>
</dependency>
<!-- Servlet API 依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- 构建配置 -->
<build>
<!-- 插件管理配置 -->
<pluginManagement>
<plugins>
<!-- Tomcat Maven 插件配置 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>8081</port> <!-- 端口 -->
<path>/api</path> <!-- 路径 -->
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
3. 配置插件
4. 配置设置类
① 创建实体类
② 配置MVC:在config包中创建一个名为MvcConfig的类; @EnableWebMvc 是一个Spring框架的注解,用于在基于Java的Spring应用程序中启用Spring MVC(Model-View-Controller)配置。通常将它应用于带有@Configuration注解的配置类上。
在config包中创建一个名为MvcInit的类,它继承了AbstractAnnotationConfigDispatcherServletInitializer
配置Spring的根容器和Spring MVC子容器
指定DispatcherServlet的URL映射
配置字符编码过滤器,以确保应用程序能够处理UTF-8编码
public class MvcInit extends AbstractAnnotationConfigDispatcherServletInitializer {
/**
* springmvc容器的父容器spring配置类
* 实际工作中我们的项目比较复杂,可以将controller层放在springmvc容器中
* 其他层,如service层、dao层放在父容器了,bean管理起来更清晰一些
* 也可以没有父容器,将所有bean都放在springmvc容器中
*/
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[0];
}
// ②:2、设置springmvc容器的spring配置类
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{MvcConfig.class};
}
// ③:3、配置DispatcherServlet的url-pattern
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
// ④:4、注册拦截器
@Override
protected Filter[] getServletFilters() { // 配置Servlet过滤器
CharacterEncodingFilter filter = new CharacterEncodingFilter();// 创建字符编码过滤器
filter.setEncoding("UTF-8"); // 设置字符编码为UTF-8
return new Filter[]{filter}; // 返回过滤器数组,确保正确处理字符编码
}
}
5. 编写controller层类
① 在Controller包下创建控制器类如:xxxIndexController.java
使用 @RestController 注解将其标记为 Spring MVC 控制器且该控制器方法将直接返回 JSON 格式的数据。
使用 @RequestMapping 注解来定义处理默认请求(根路径‘/’)的方法。
使用 @GetMapping、@PutMapping、@DeleteMapping 注解定义处理用户的登入、注册、根据id批量删除请求。
6. 编写测试的http请求
① 在项目的根目录下创建一个request.http文件用于给后端发送http请求