关于springMVC的ApplicationBoot类
来源:互联网 发布:喵翻网络连接失败 编辑:程序博客网 时间:2024/06/06 12:23
关于springMVC中继承AbstractAnnotationConfigDispatcherServletInitializer用于初始化DispatcherServlet的类,之前一直不明白其getRootConfigClasses和getServletConfigClasses方法的参数是怎么驱动配置的,测试了一下之后发现了原理。
工程结构和代码如下图
Application 代码:
package test.config;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRegistration.Dynamic;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.web.context.request.RequestContextListener;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;@Configuration@ComponentScan(basePackages=Application.CONFIG_PACKAGE)public class Application extends AbstractAnnotationConfigDispatcherServletInitializer{public static final String CONFIG_PACKAGE="test.config"; // 应用上下文,除web部分 @Overrideprotected Class<?>[] getRootConfigClasses() {System.err.println("getRootConfigClasses");return new Class[]{ApplicationConfig.class};}//web部分,配置dispatcher servlet,如果在root config指定了该转发规则就可以忽略 @Overrideprotected Class<?>[] getServletConfigClasses() {System.err.println("getServletConfigClasses");return new Class[]{};}//指定开始被servlet处理的url,配置从/开始 @Overrideprotected String[] getServletMappings() {System.err.println("getServletMappings");return new String[]{"/"};}//将相关的组件注册到服务器@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {System.err.println("onStartup");servletContext.addListener(RequestContextListener.class);super.onStartup(servletContext);}@Overrideprotected void customizeRegistration(Dynamic registration) {System.err.println("customizeRegistration");registration.setInitParameter("dispatchOptionsRequest", "true");}}
<span style="font-size:14px;">@Configuration@ComponentScan(basePackages = ApplicationConfig.PACKAGE_NAMESPACE)public class ApplicationConfig {public static final String PACKAGE_NAMESPACE="test";}</span>
其中Application类相当于applicationcontext.xml,如果他的@ComponentScan配置的是整个工程的话,那么getRootConfigClasses方法的参数传他自己就行了,因为整个工程中的配置文件都会被他扫描到。
0 0
- 关于springMVC的ApplicationBoot类
- 关于SpringMvc的入门
- 关于springmvc的流程
- 关于SpringMVC配置的问题
- 关于springMVC的下载图片
- 关于springmvc的拦截器
- 关于springmvc的ajax操作
- 关于springMVC 时间的问题
- 关于SpringMVC的DispatcherServlet配置
- 关于SpringMVC 的 AOP 使用
- 关于SpringMVC 的国际化操作
- 关于springMVC参数的绑定
- 关于springmvc的配置问题
- 关于springmvc的知识点整理
- 关于SpringMVC的路径问题
- 关于springmvc@responseBody的作用
- 关于SpringMvc传值的小问题
- 关于SpringMvc + JaspersoftIReport 工具的一些资料
- 杭电oj-14
- http://blog.csdn.net/wenbingoon/article/details/9667229#
- Java变量类型
- 大数取余
- 自定义viewpager的切换动画(旋转动画)
- 关于springMVC的ApplicationBoot类
- socket通信之 tcp协议1
- ServletContext对象
- 栈的压入、弹出序列
- HDU 5305 Friends(dfs)
- 2.3 uboot源码目录分析
- Android WebView与JavaScript交互详解
- 模式识别中的特征提取及其内在意义
- 自定义Drawable —— 锯齿形