搭建一个基于JavaConfig配置的SSM框架 - Sesshoumarusama/craft GitHub Wiki

前言

还在苦恼基于spring的web项目繁杂的xml配置吗,今天老司机带你抛弃xml配置,搭建一个基于Spring JavaConfig配置的SSM框架(SpringMVC、Spring 4、Mybatis 3) 抛弃web.xml的配置,是在Servlet3.0+的基础之上完成的,在配置之前让我们来看看springMVC的一个重要的接口:org.springframework.web.WebApplicationInitializer,这个接口允许我们可以不再以web.xml的方式配置ServletConext(Servlet容器),可以实现这个接口编程的方式来配置。在我们将项目部署到Servlet容器(Tomcat)中启动项目时,Servlet容器会自动检测查找所有实现了该接口的实现类,并且将其作为ServletContext的配置而实例化。

>原理分析

Servlet3.0+ 规定Servlet容器启动时会自动扫描所有实现了javax.servlet.ServletContainerInitializer的类,而我们使用的spring中org.springframework.web.SpringServletContainerInitializer实现了这个接口,而SpringServletContainerInitializer这个类在启动时,又会去检查并且装配实现了WebApplicationInitializer接口的类,并且将其装配到ServletContext中。 请看SpringServletContainerInitializer的源码:

配置Filter

配置Listener

配置DispatcherServlet

配置SpringMVC

> 配置视图解析器

> 配置异步消息转换器

> 配置静态资源映射

> 配置拦截器

配置Spring应用上下文

> 事务配置

配置MyBatis-Spring