第一部分:Mybatis-Plus + JSP实现简单操作
1. 项目结构设置
- 使用Maven或Gradle构建工具。
- 创建Web项目结构,包括
src/main/java
、src/main/resources
、src/main/webapp
等目录。
2. 引入依赖
在pom.xml
中添加Mybatis-Plus、JSP、Servlet API等依赖。
<!-- Mybatis-Plus --> | |
<dependency> | |
<groupId>com.baomidou</groupId> | |
<artifactId>mybatis-plus-boot-starter</artifactId> | |
<version>最新版本</version> | |
</dependency> | |
<!-- Servlet API --> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>javax.servlet-api</artifactId> | |
<version>4.0.1</version> | |
<scope>provided</scope> | |
</dependency> | |
<!-- JSP API --> | |
<dependency> | |
<groupId>javax.servlet.jsp</groupId> | |
<artifactId>javax.servlet.jsp-api</artifactId> | |
<version>2.3.3</version> | |
<scope>provided</scope> | |
</dependency> |
3. 配置Mybatis-Plus
在src/main/resources
下创建application.properties
或application.yml
,配置数据源和Mybatis-Plus相关设置。
4. 编写Mapper和Service
定义实体类、Mapper接口及XML(或注解)映射文件,以及Service层逻辑。
5. 编写JSP页面和Controller
在src/main/webapp/WEB-INF/views
下创建JSP页面,在Controller中处理请求并返回ModelAndView。
第二部分:Spring Boot对RESTful的支持
1. 创建Spring Boot项目
使用Spring Initializr(https://start.spring.io/)生成新项目,引入Web、JPA、Mybatis-Plus等依赖。
2. 编写RESTful Controller
@RestController | |
@RequestMapping("/api") | |
public class UserController { | |
@Autowired | |
private UserService userService; | |
@GetMapping("/users") | |
public ResponseEntity<List<User>> getAllUsers() { | |
return ResponseEntity.ok(userService.getAllUsers()); | |
} | |
// 其他HTTP方法映射... | |
} |
3. 配置JPA和Mybatis-Plus
在application.properties
或application.yml
中配置数据源、JPA和Mybatis-Plus。
第三部分:掌握MockMvc测试Web请求
1. 引入Spring Boot Test和MockMvc依赖
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-test</artifactId> | |
<scope>test</scope> | |
</dependency> |
2. 编写MockMvc测试
@WebMvcTest(UserController.class) | |
public class UserControllerTest { | |
@Autowired | |
private MockMvc mockMvc; | |
@MockBean | |
private UserService userService; | |
@Test | |
public void testGetAllUsers() throws Exception { | |
when(userService.getAllUsers()).thenReturn(Arrays.asList(new User(/* ... */))); | |
mockMvc.perform(get("/api/users")) | |
.andExpect(status().isOk()) | |
.andExpect(jsonPath("$[0].id").value(1)); | |
} | |
// 其他测试方法... | |
} |
第四部分:Spring Boot 整合JSP
1. 引入Tomcat Embed Jasper依赖
<dependency> | |
<groupId>org.apache.tomcat.embed</groupId> | |
<artifactId>tomcat-embed-jasper</artifactId> | |
<scope>provided</scope> | |
</dependency> |
2. 配置application.properties
spring.mvc.view.prefix=/WEB-INF/views/ | |
spring.mvc.view.suffix=.jsp |
3. 创建JSP页面
在src/main/webapp/WEB-INF/views
下创建JSP页面。
第五部分:在Spring中定义过滤器和拦截器
1. 定义过滤器
@Component | |
public class MyFilter implements Filter { | |
// 实现doFilter方法 | |
} | |
@Bean | |
public FilterRegistrationBean<MyFilter> myFilter() { | |
FilterRegistrationBean<MyFilter> registrationBean = new FilterRegistrationBean<>(); | |
registrationBean.setFilter(new MyFilter()); | |
registrationBean.addUrlPatterns("/api/*"); | |
return registrationBean; | |
} |
2. 定义拦截器
public class MyInterceptor implements HandlerInterceptor { | |
// 实现preHandle、postHandle、afterCompletion方法 | |
} | |
@Configuration | |
public class WebConfig implements WebMvcConfigurer { | |
@Override | |
public void addInterceptors(InterceptorRegistry registry) { | |
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/api/**"); | |
} | |
} |
第六部分:了解Spring Boot项目打包部署
1. Maven打包
使用mvn clean package
命令打包成可执行的jar或war文件(取决于配置)。
2. 部署到外部Tomcat
- 如果打包为war,直接部署到Tomcat的
webapps
目录。 - 如果打包为jar且需要Tomcat支持,可配置嵌入式Tomcat或使用外部Tomcat的
Catalina
类加载器来加载jar