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 {
}

最新文章

  1. sql 多行合一行
  2. eclipse tomcat debug启动慢
  3. Python--将内容写入文本文件中
  4. KMS错误代码收集
  5. Java--&gt;分割文件
  6. Machine Learning for hackers读书笔记(七)优化:密码破译
  7. Apache DbUtils - JDBC轻量级封装的工具包
  8. hdu1017
  9. python 获取对象信息
  10. python中functools.wraps装饰器的作用
  11. cocos2dx系列笔记(2)- windows环境配置后续之 Android环境配置
  12. iOS 设备和外部配件的通讯
  13. 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
  14. 想做iPhoneX抢购活动?压测大师先教你优化网站后台
  15. Python类的__getitem__和__setitem__特殊方法
  16. Gradle+IDEA使用说明
  17. 背水一战 Windows 10 (122) - 其它: 通过 Windows.System.Profile 命名空间下的类获取信息, 查找指定类或接口的所在程序集的所有子类和子接口
  18. 【python003-变量】
  19. Spring Boot (十三): Spring Boot 小技巧
  20. GRUB 启动 WIN PE 镜像(ISO)

热门文章

  1. Git master合并分支时提示“Already up-to-date”
  2. 单源最短路——朴素Dijkstra&amp;堆优化版
  3. Python尾递归优化
  4. dapper 参数不定时用这种方法动态参数
  5. 基于【 springBoot+jsoup】一 || 爬取全国行政区划数据
  6. H5之拖拽
  7. js入门之字符串常用的方法
  8. iOS CGContextRef/UIBezierPath(绘图)
  9. FreeRTOS 基础简介
  10. shell 数学运算