57、springmvc-整合
2024-08-26 15:06:31
57、springmvc-整合
57.1 创建Spring MVC Annotation项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hw</groupId>
<artifactId>Spring MVC Annotation</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<!--打包的时候排除-->
<scope>provided</scope>
</dependency>
</dependencies>
</project>
57.2 自定义 WebApplicationContext
/**
* @Description web 容器启动的时候 调用方法来初始化容器以及前端控制器
*/
public class WebApplicationContext extends AbstractAnnotationConfigDispatcherServletInitializer {
/**
* 获取根容器的配置类
*
* @return
*/
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{RootConfig.class};
}
/**
* 获取web容器的配置文件
*
* @return
*/
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{AppConfig.class};
}
/**
* 获取servlet 映射信息
* / : 拦截所有资源 但不包括 *.jsp
* /* : 拦截所有资源 包括 *.jsp
* <p>
* jsp 页面是tomcat的jsp引擎解析的
*
* @return
*/
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
57.3 AppConfig and RootConfig
// 不扫描 controller 父容器
@ComponentScan(value = "com.hw",
excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = {Controller.class})})
public class RootConfig {
}
// spring mvc 只扫描 controller 子容器
@ComponentScan(value = "com.hw",
useDefaultFilters = false,
includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = {Controller.class})})
public class AppConfig {
}
最新文章
- sql 多行合一行
- eclipse tomcat debug启动慢
- Python--将内容写入文本文件中
- KMS错误代码收集
- Java-->;分割文件
- Machine Learning for hackers读书笔记(七)优化:密码破译
- Apache DbUtils - JDBC轻量级封装的工具包
- hdu1017
- python 获取对象信息
- python中functools.wraps装饰器的作用
- cocos2dx系列笔记(2)- windows环境配置后续之 Android环境配置
- iOS 设备和外部配件的通讯
- 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
- 想做iPhoneX抢购活动?压测大师先教你优化网站后台
- Python类的__getitem__和__setitem__特殊方法
- Gradle+IDEA使用说明
- 背水一战 Windows 10 (122) - 其它: 通过 Windows.System.Profile 命名空间下的类获取信息, 查找指定类或接口的所在程序集的所有子类和子接口
- 【python003-变量】
- Spring Boot (十三): Spring Boot 小技巧
- GRUB 启动 WIN PE 镜像(ISO)