这篇文章给大家介绍spring4的新特性有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
从spring4开始,春天以Servlet3为进行开发,如果用Spring MVC测试框架的话需要指定Servlet3兼容的jar包(因为其模拟的对象都是基于Servlet3的)。另外为了方便休息开发,通过新的@RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加,@ResponseBody了。而且添加了一个AsyncRestTemplate ,支持其他客户端的异步无阻塞支持只
<强> 1,@RestController 强>
Java代码,,
@RestController 公开课用户控件{ 私人UserService UserService; @ autowired 公共用户控件(UserService UserService) { 这一点。userService=userService; } @RequestMapping (“/test") 公共用户视图(){ 用户用户=新用户(); user.setId(1升); user.setName (“haha"); 返回用户; } @RequestMapping (“/test2") 公共字符串view2 () { 返回“{\ \“id”;:1}“; } }
,其实现就是在@@RestController中加入@ResponseBody:
Java代码,
@org.springframework.stereotype.Controller @org.springframework.web.bind.annotation.ResponseBod 公共@ interface RestController { }
这样当你开发其他服务器端的时候,spring mvc配置文件需要的代码极少,可能就仅需如下一行:
Java代码,,
& lt;上下文:component-scan基础包=癱om.bjpowernode.spring4"/比; & lt; mvc:注解驱动/比;
<强> 2,mvc:注解驱动配置变化强>
统一风格;将,enableMatrixVariables改为enable-matrix-variables属性;将ignoreDefaultModelOnRedirect改为ignore-default-model-on-redirect。
<强> 3,提供AsyncRestTemplate用于客户端非阻塞异步支持。强>
3.1,服务器端
Java代码,,
@RestController 公开课用户控件{ 私人UserService UserService; @ autowired 公共用户控件(UserService UserService) { 这一点。userService=userService; } @RequestMapping (“/api") 公共Callableapi () { System.out.println (“=====hello"); 返回新Callable () { @Override 公共用户调用()抛出异常{ 线程。睡眠(10 l * 1000);//暂停两秒 用户用户=新用户(); user.setId(1升); user.setName (“haha"); 返回用户; } }; } }
非常简单,服务器端暂停10秒再返回结果(但是服务器也是非阻塞的)。具体参考我github上的代码只
3.2,客户端
Java代码,,
公共静态void main (String [] args) { AsyncRestTemplate模板=new AsyncRestTemplate ();//调用完后立即返回(没有阻塞) ListenableFuture比;未来=template.getForEntity (“http://localhost: 9080/spring4/api", User.class);//设置异步回调 的未来。addCallback(新ListenableFutureCallback & lt; bean类=皁rg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/比; & lt; bean类=皁rg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"祝辞
尽量使用
Java代码,,
& lt; mvc:注解驱动/比;
它设计的已经足够好,使用子元素可以配置我们需要的配置。
且不要使用老版本的:
Java代码,,
& lt; bean类=皁rg.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/比; & lt; bean类=皁rg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"祝辞
否则可能得到如下异常:
写道
循环观点路径[登录]:将派遣回当前处理程序URL (/spring4/登录)。检查ViewResolver设置!(提示:这可能是一个未指明的视图的结果,由于默认视图名称代。)
关于spring4的新特性有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。