java代码配置spring_基于java代码的springmvc配置

在我的印象中,开发一个web项目首选当然是springmvc,而配置springmvc无非就是web.xml里配置其核心控制器DispatcherServlet.然后把所有的请求都交给它处理,再配个视图解析器,一个注解扫描和一个注解的驱动差不多一个基于springmvc的web项目就搞定了,这么一总结感觉好麻烦啊;然后最近在spring实战一书里刚好看到了基于java的springmvc的配置,感觉瞬间简单高大上了许多,下面记录下如何基于java来搭建springmvc的环境

首先当然是配置Spring MVC的核心DispatcherServlet了,按照传统的方式,像DispatcherServlet这样的Servlet会配置在web.xml文件中,但是,借助于Servlet 3规范和Spring 3.1的功能增强,我们完全可以基于java来配置它,下面是关键代码:

/***@author* @date 2018/9/4 14:57

* @description 使用java(非xml)为项目配置DispatcherServlet*/

public class ExcepCollAppInitilizer extendsAbstractAnnotationConfigDispatcherServletInitializer {/*** 此方法返回的带有@Configuration注解的类将会用来配置ContextLoaderListener创建的应用上下文中的bean

*@return

*/@Overrideprotected Class>[] getRootConfigClasses() {return new Class[]{RootConfig.class};

}/*** 此方法返回的带有@Configuration注解的类将会用来定义DispatcherServlet应用上下文中的bean

*@return

*/@Overrideprotected Class>[] getServletConfigClasses() {return new Class[]{WebConfig.class};//指定配置类

}

@OverrideprotectedString[] getServletMappings() {return new String[]{"/"}; //将DispatcherServlet映射到"/"

}

}

其中RootConfig和WebConfig使我们自己写的配置类,我们重点关注WebConfig,它相当于我们使用xml配置时项目里的springmvc.xml,可以开启组件扫描、配置视图解析器等功能;下面是其代码:

@Configuration

@EnableWebMvc//启用springmvc

@ComponentScan("com.darling") //开启组件扫描

public class WebConfig extendsWebMvcConfigurerAdapter {/*** 配置JSP试图解析器

*@return

*/@BeanpublicViewResolver viewResolver(){

InternalResourceViewResolver resolver= newInternalResourceViewResolver();

resolver.setPrefix("/WEB-INF/views/");

resolver.setSuffix(".jsp");

resolver.setExposeContextBeansAsAttributes(true);returnresolver;

}/*** 配置静态资源的处理

* 要求DispatcherServlet将对静态资源的请求转发到Servlet容器中默认的Servlet上,而不是使用DispatcherServlet本身来处理此类请求

*@paramconfigurer*/@Overridepublic voidconfigureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {

configurer.enable();

}

}

RootConfig的代码:

/***@author董琳琳

* @date 2018/9/4 16:05

* @description*/@Configuration

@ComponentScan(basePackages= {"com.darling"},excludeFilters = {@Filter(type = FilterType.ANNOTATION,value = EnableWebMvc.class)})public classRootConfig {

}

至此,我们基本上已经可以开始使用Spring MVC了,下面是我写的测试类:

@Controller

@RequestMapping("/test")public classTestController {

@RequestMapping("/testJson")

@ResponseBodypublicString test(){return "HELLO,SPRING MVC";

}

@RequestMapping("testJsp")publicString test1(){return "index";

}

}

测试效果

跳转到JSP页面:

f3eae40cbf881e84115bc1bc8393ab27.png

返回json:

4e4b5b11774d653d2f1e8d38e2d85d74.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值