我是靠谱客的博主 悦耳豌豆,最近开发中收集的这篇文章主要介绍java配置springmvc_使用Java配置SpringMVC,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在此之前,一直使用的是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配置springmvc_使用Java配置SpringMVC所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部