spring4的新特性有哪些

  介绍

这篇文章给大家介绍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的新特性有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

spring4的新特性有哪些