在spring官网文档中无论是spring的基础文档,还是spring-mvc文档都推荐我们使用javaconfig的方式来搭建项目 间接说明(优点:javaconfig配置>xml配置)
其实 springboot内部就是通过这种方式来做的而我们可以通过这种方式来搭一般的ssm项目,甚至自己手动内嵌一个tomcat搭建一个简单的springboot项目都是可以的 。
早在servlet3.0开始就能实现零xml配置搭建项目了 (现在最新servlet4.0,下面也会说到为什么从3.0开始可以实现springmvc的零xml配置),也就是说 通过xml搭建项目对于现在而言确实比较老了
在用高版本依赖的基础上使用老的技术的人或者公司还是比较多的。。。
1、首先创建一个maven的web项目
(1)、pom依赖 (后面需要其他的再加) :servlet依赖是用来使用servlet3.0 SCI新特性 实现 零xml 配置的
(2)目录结构
创建WebApplication 类 等于:web.xml
创建SpringApplicationContext类 等于speing-context.xml 容器
(3)首先通过javaconfig方式配置spring容器(为什么就不再说了)
只需要 两个注解 就能实现对spring容器的配 包括实例化对象、注解的支持、DI、自动装配等
@Configuration:表示是一个spring容器
@ComponentScan("com.it") 包扫描 ,这里我只创建了com.it.controller(路径的颗粒度也是可以任意配置的,官网文档有介绍)
注意 : 从spring4.0 开始 ,就只需设置包扫描 就能完成对spring核心的配置了 ,无需额外打开 注解、驱动之类的设置 这些在spring-core源码包中都有体现
至此就完成了对spring最基本的配置。。。
(4)如果现在需要测试的话 , 以前是用ClassPathXmlApplicationContext 来加载xml 实例spring容器 ,
现在在main方法通过AnnotationConfigApplicationContext 加载spring容器就完事了 (这里就不测试了,整合完了SpringMVC再测试 )
(5) 配置spring-mvc ,官网文档中写的很清楚
spring整合springMVC无就是 管理DispactcherServlet ,另外在实例化 spring容器时使用AnnotationConfigWebApplicationContext的register来注册,
其实AnnotationConfigApplicationContext 的构造器(下图) 的源码中也是通过register()这种方法 ,然后refresh()
未写完。。。