搭建一个SpringMVC有两种方式:
一种是用xml文件进行配置;另一种是用Java代码进行配置
搭建SpringMVC首先要配置DispatcherServlet和ContextLoaderListener,这两个在web.xml中进行配置
contextConfigLocation
/WEB-INF/spring/root-context.xml
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
1
appServlet
/
在上面的web.xml文件中,主要分成两块:
appServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/spring/appServlet/servlet-context.xml
1
完成上面的web.xml的配置,我们还要再分别编写root-context.xml和servlet-context.xml将需要加载的bean分别配置到这两个文件中。
按xml文件配置的方式就先讲到这里,下面着重讲解一下按Java代码进行配置。
此种方法虽然是按Java代码进行配置,但是还是需要将DispatcherServlet和ContextLoaderListener在web.xml中进行配置,然后在此基础上再加上Java代码配置。
第一步:
在web.xml中配置DispatcherServlet和ContextLoaderListener,此时web.xml内容如下:
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
1
appServlet
/
上述web.xml只是配置了DispatcherServlet和ContextLoaderListener,但此时你还没有告诉DispatcherServlet和ContextLoaderListener去哪里加载bean到它们所创建的上下文中。因为我们要使用Java代码来配置这些bean,而不是使用xml文件来配置,所以这里就和上面的第一种搭建方式不一样了。
既然要去Java代码中寻找要加载的bean,那么就要使用一种Spring上下文AnnotationConfigWebApplicationContext,它是WebApplicationContext的实现类,这个上下文会去加载java配置类,然后将配置类中配置的bean加载到其中。
所以,我们现在要做的是告诉DispatcherServlet和ContextLoaderListener,在创建上下文的时候,创建AnnotationConfigWebApplicationContext这个上下文。那怎么告诉DispatcherServlet和ContextLoaderListener呢?这就需要在web.xml中对DispatcherServlet和ContextLoaderListener进行设置了。
第二步:
在web.xml中对DispatcherServlet和ContextLoaderListener进行初始化设置
contextClass
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
contextConfigLocation
com.fy.config.RootConfig
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
contextClass
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
contextConfigLocation
com.fy.config.WebConfig
1
appServlet
/
这个地方对DispatcherServlet和ContextLoaderListener的初始化设置也可以分为两块,一块是ContextLoaderListener,另一块是DispatcherServlet,然后分别在每一块中又有两个部分:一个是上下文容器的配置,另一个是bean的配置类的配置。
完成上面的web.xml的配置后就可以编写Java配置类了。