您现在的位置是:首页 > Java 当前栏目 java配置springmvc_使用Java配置SpringMVC JAVA 容器 继承 配置文件 2023-03-02 10:27:24 时间 在此之前,一直使用的是XML的方式配置SpringMVC,现在为了适应Servlert3.0以及JavaConfig的Spring配置方式,在这里记录一下使用Java代码配置SpringMVC。首先,来回顾一下使用XML配置的过程: 1.在web.xml中配置DispatcherServlet 2.在SpringMVC配置文件中配置viewResolver(视图解析器) 3.在SpringMVC配置文件中配置两个基本配置 4.在SpringMVC配置文件中配置组件扫描Controller(注意与Spring的组件扫描分开,形成父子容器,这也是Spring建议的) 这几步下来,SpringMVC基本上已经配置完成。我们使用Java配置的过程也大致如此。 配置DispatcherServlet 因为不再使用web.xml,那么去哪里配置DispatcherServlet ? 我们需要使用一个类继承 AbstractAnnotationConfigDispatcherServletInitializer ,继承之后这个类就相当于前端控制器了: public class WebAppinitializer extendsAbstractAnnotationConfigDispatcherServletInitializer \{ @Overrideprotected Class>\[\] getRootConfigClasses() \{return new Class> \[\] \{RootConfig.class\}; \} @Overrideprotected Class>\[\] getServletConfigClasses() \{return new Class> \[\] \{WebConfig.class\}; \} @OverrideprotectedString\[\] getServletMappings() \{return new String\[\] \{"/"\}; \} \} getRootConfigClasses()方法用于获取根容器的配置类;(Spring的配置文件),相当于父容器配置,这里使用的是名为RootConfig的类 getServletConfigClasses()方法用于获取web容器的配置类(SpringMVC配置文件),相当于子容器配置,这里使用的是名为WebConfig的类 getServletMappings() 方法就是用于表明DispatcherServlet的映射信息,“/”表示拦截所有请求,因为是个字符串数组,所以可以写多个映射。 SpringMVC的配置 SpringMVC的基本配置包括:视图解析器,两个基本配置。编写一个配置类继承 WebMvcConfigurerAdapter ( 该类已经过时,新实现 WebMvcConfigurationSupport ) ) @Configuration @ComponentScan(value="com.atguigu",includeFilters=\{ @Filter(type=FilterType.ANNOTATION,classes=\{Controller.class\}) \},useDefaultFilters=false) @EnableWebMvcpublic class WebConfig extendsWebMvcConfigurerAdapter\{ @BeanpublicViewResolver viewResolver() \{ InternalResourceViewResolver viewResolver= newInternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/view/"); viewResolver.setSuffix(".jsp");returnviewResolver; \} @Overridepublic voidconfigureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) \{ configurer.enable(); \}\} 在这里我是将视图解析器配置为一个Bean,还可以直接重写WebMvcConfigurerAdapter 类的 configureViewResolvers方法,效果是一样的 @Overridepublic voidconfigureViewResolvers(ViewResolverRegistry registry) \{ registry.jsp("/WEB-INF/view/", ".jsp"); \} @EnableWebMvc 注解就相当于应用了 ,启用了SpringMVC的高级特性 重写 configureDefaultServletHandling 方法就是将SpringMVC不能处理的静态资源交给Tomcat处理,相当于 Spring的配置 因为要使用父子容器的方式,所以还需要配置Spring,在这里不用配置太复杂,直接扫描除了Controller层的其他组件即可 @Configuration @ComponentScan(value="cn.lynu",excludeFilters=\{ @Filter(type=FilterType.ANNOTATION,classes=\{Controller.class\}) \})public classRootConfig \{ \} 因为这里只是简单的处理Web层,所以不需要太复杂,在这个Spring配置类中就没有任何方法 OK,至此SpringMVC的Java配置方式已经完成了。继承 AbstractAnnotationConfigDispatcherServletInitializer的方式,会自动注册DispatcherServlet和ContextLoaderListener,而使用XML的方式,我们还需要自己在web.xml中完成它们的注册。 本文地址: java配置springmvc_使用Java配置SpringMVC 相关文章 Java 循环 java数据流 java发展史 Java技能 Java 实验 初学java java堆 Java反射 Java编程 Java StringBuffer java封装 Java-封装 java封装 java封装 Java小记 java stack Java-- 变量 java变量 Java-Type Java—闰年