一盒五针的感冒能打狂犬疫苗苗能用2--1--1新...

博客分类:
从Spring4开始,Spring以Servlet3为进行开发,如果用Spring MVC 测试框架的话需要指定Servlet3兼容的jar包(因为其Mock的对象都是基于Servlet3的)。另外为了方便Rest开发,通过新的@RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加 @ResponseBody了。而且添加了一个AsyncRestTemplate ,支持REST客户端的异步无阻塞支持。
1、@RestController
@RestController
public class UserController {
private UserService userS
@Autowired
public UserController(UserService userService) {
this.userService = userS
@RequestMapping("/test")
public User view() {
User user = new User();
user.setId(1L);
user.setName("haha");
@RequestMapping("/test2")
public String view2() {
return "{\"id\" : 1}";
其实现就是在@@RestController中加入@ResponseBody:
@org.springframework.stereotype.Controller
@org.springframework.web.bind.annotation.ResponseBody
public @interface RestController {
这样当你开发Rest服务器端的时候,spring-mvc配置文件需要的代码极少,可能就仅需如下一行:
&context:component-scan base-package="com.sishuok.spring4"/&
&mvc:annotation-driven/&
2、mvc:annotation-driven配置变化
统一风格;将 enableMatrixVariables改为enable-matrix-variables属性;将ignoreDefaultModelOnRedirect改为ignore-default-model-on-redirect。
3、提供AsyncRestTemplate用于客户端非阻塞异步支持。
3.1、服务器端
对于服务器端的springmvc开发可以参考中的
@RestController
public class UserController {
private UserService userS
@Autowired
public UserController(UserService userService) {
this.userService = userS
@RequestMapping("/api")
public Callable&User& api() {
System.out.println("=====hello");
return new Callable&User&() {
public User call() throws Exception {
Thread.sleep(10L * 1000); //暂停两秒
User user = new User();
user.setId(1L);
user.setName("haha");
非常简单,服务器端暂停10秒再返回结果(但是服务器也是非阻塞的)。具体参考我github上的代码。
3.2、客户端
public static void main(String[] args) {
AsyncRestTemplate template = new AsyncRestTemplate();
//调用完后立即返回(没有阻塞)
ListenableFuture&ResponseEntity&User&& future = template.getForEntity("http://localhost:9080/spring4/api", User.class);
//设置异步回调
future.addCallback(new ListenableFutureCallback&ResponseEntity&User&&() {
public void onSuccess(ResponseEntity&User& result) {
System.out.println("======client get result : " + result.getBody());
public void onFailure(Throwable t) {
System.out.println("======client failure : " + t);
System.out.println("==no wait");
此处使用Future来完成非阻塞,这样的话我们也需要给它一个回调接口来拿结果; Future和Callable是一对,一个消费结果,一个产生结果。调用完模板后会立即返回,不会阻塞;有结果时会调用其回调。
AsyncRestTemplate默认使用SimpleClientHttpRequestFactory,即通过java.net.HttpURLConnection实现;另外我们也可以使用apache的http components;使用template.setAsyncRequestFactory(new HttpComponentsAsyncClientHttpRequestFactory());设置即可。
另外在开发时尽量不要自己注册如:
&bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/&
&bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"&
&mvc:annotation-driven/&
它设计的已经足够好,使用子元素可以配置我们需要的配置。
且不要使用老版本的:
&bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/&
&bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
否则可能得到如下异常:
Circular view path [login]: would dispatch back to the current handler URL [/spring4/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
浏览 206308
z 写道涛 哥,使用了 @RestController 注解后就只能返回json数据吗,我想返回一个视图,比如说index.jsp 还可以吗,试了下 只返回一个字符串 index试试返回ModelAndView?我也遇到过这问题,应该是因为 使用@ResponseBody将会跳过视图处理部分,而是调用适合HttpMessageConverter,将返回值写入输出流。
涛 哥,使用了 @RestController 注解后就只能返回json数据吗,我想返回一个视图,比如说index.jsp 还可以吗,试了下 只返回一个字符串 index试试返回ModelAndView?
dieslrae 写道jinnianshilongnian 写道kangaroo_xin 写道jinnianshilongnian 写道kangaroo_xin 写道@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}@ResponseBody 放在函数方法上可以,放在类上无效。您那有这个的测试工程吗这些都是我测试通过之后才写的直接写 &mvc:annotation-driven/&没有问题,但是换成这样下面这种写法之后就会报错了
&bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/&
&bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
&property name="messageConverters"&
&ref bean="mappingJacksonHttpMessageConverter"/&
&/property&
&bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&
&property name="supportedMediaTypes"&
&value&text/charset=UTF-8&/value&
&/property&
提示这个错
Circular view path [login]: would dispatch back to the current handler URL [/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
估计是你哪个地配置的不对,MappingJacksonHttpMessageConverter升级到MappingJackson2HttpMessageConverter吧,(需要jackson2版本)Circular view path [login]: would dispatch back to the current handler URL [/login] again从错误看访问login好像死循环了;估计不是这段代码的问题;可能是其他配置的问题;如果方便把相关配置文件站内信我晚上回家发你
jinnianshilongnian 写道kangaroo_xin 写道jinnianshilongnian 写道kangaroo_xin 写道@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}@ResponseBody 放在函数方法上可以,放在类上无效。您那有这个的测试工程吗这些都是我测试通过之后才写的直接写 &mvc:annotation-driven/&没有问题,但是换成这样下面这种写法之后就会报错了
&bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/&
&bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
&property name="messageConverters"&
&ref bean="mappingJacksonHttpMessageConverter"/&
&/property&
&bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&
&property name="supportedMediaTypes"&
&value&text/charset=UTF-8&/value&
&/property&
提示这个错
Circular view path [login]: would dispatch back to the current handler URL [/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
估计是你哪个地配置的不对,MappingJacksonHttpMessageConverter升级到MappingJackson2HttpMessageConverter吧,(需要jackson2版本)Circular view path [login]: would dispatch back to the current handler URL [/login] again从错误看访问login好像死循环了;估计不是这段代码的问题;可能是其他配置的问题;如果方便把相关配置文件站内信我
kangaroo_xin 写道jinnianshilongnian 写道kangaroo_xin 写道@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}@ResponseBody 放在函数方法上可以,放在类上无效。您那有这个的测试工程吗这些都是我测试通过之后才写的直接写 &mvc:annotation-driven/&没有问题,但是换成这样下面这种写法之后就会报错了
&bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/&
&bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
&property name="messageConverters"&
&ref bean="mappingJacksonHttpMessageConverter"/&
&/property&
&bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&
&property name="supportedMediaTypes"&
&value&text/charset=UTF-8&/value&
&/property&
提示这个错
Circular view path [login]: would dispatch back to the current handler URL [/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
楼主不知道有没有关于websocket的配置分析呢?后续有时间的话想试试,然后分析;这个要看业余时间是否充分了
jinnianshilongnian 写道kangaroo_xin 写道@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}@ResponseBody 放在函数方法上可以,放在类上无效。您那有这个的测试工程吗这些都是我测试通过之后才写的
jinnianshilongnian 写道kangaroo_xin 写道另外 AsyncRestTemplate 使用必须使用 application/json 返回json如果使用text/html会报,无法转换成User对象。嗯,它在请求时会带着Accept:application/json, application/*+json 过去;springmvc会自动响应Content-Type:application/json;估计是不是你没加 jackson2的jar包?因为IE下用 application/json 返回json,会发生弹出下载框的情况,所以一般我都定义成text/html返回json。 这样和AsyncRestTemplate 有点冲突了这个倒不影响 可以写个filter判断下是客户端的 还是浏览器过来的 针对ie单独设置响应头
kangaroo_xin 写道另外 AsyncRestTemplate 使用必须使用 application/json 返回json如果使用text/html会报,无法转换成User对象。嗯,它在请求时会带着Accept:application/json, application/*+json 过去;springmvc会自动响应Content-Type:application/json;估计是不是你没加 jackson2的jar包?因为IE下用 application/json 返回json,会发生弹出下载框的情况,所以一般我都定义成text/html返回json。 这样和AsyncRestTemplate 有点冲突了
kangaroo_xin 写道@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}@ResponseBody 放在函数方法上可以,放在类上无效。您那有这个的测试工程吗
@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。这是@RestController注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {}
另外 AsyncRestTemplate 使用必须使用 application/json 返回json如果使用text/html会报,无法转换成User对象。嗯,它在请求时会带着Accept:application/json, application/*+json 过去;springmvc会自动响应Content-Type:application/json;估计是不是你没加 jackson2的jar包?
@RestController配置后为什么不起作用呢?哪里还需要配置已经使用了spring 4.0.0的包了使用@Controller 和 @ResponseBody 可以。不用配其他的啊;@RestController = @Controller + @ResponseBody
& 上一页 1
jinnianshilongnian
浏览量:1740027
浏览量:2153405
浏览量:4340711
浏览量:177762
浏览量:1233553
浏览量:188488
浏览量:3715455
浏览量:452094
浏览量:477591
推荐一个dubbo分布式服务架构:http://minglis ...
感谢楼主,你的文章给我很大的帮助。
Shiro异常1:java.lang.IllegalArgum ...
http://blog.csdn.net/u ...
http://blog.csdn.net/u ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'[NetShowBT]【11.09.15】[Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213][情热传说|Tales of Zestiria|v.1.2|游侠LMAO汉化|含最新11DLC|免安装中文2.2绿色版|解压即玩][CN]
Tracker信息
http://bt.ali213.net:8000/announce
http://bt.ali213.net:8000/scrape
Announce list:
http://tracker.ali213.net:8080/announce
http://tracker.ali213.net:8000/announce
http://bt.ali213.net:8080/announce
http://bt.ali213.net:8000/announce
&&&&&&&&&& &&&&& &&&&&
很屌的游戏!不要错过~~
游戏名称:情热传说
英文名称:Tales of Zestiria
游戏类型:角色扮演RPG
游戏制作:Bandai Namco
游戏制作:Bandai Namco Games
游戏平台:PS3,PS4,PC
游戏语言:英文,日文,中文
发售日期:
游戏专题:
【游戏介绍】
&&世界背景
  在一个名为格林伍德的大陆上,拥有两个强悍的国家,海兰德王国和罗伦斯帝国,他们为了自己的主权时常发生战争。在另一方面,这里生活着从事狩猎、农业、商业、艺术等各种领域的人们。他们的生活深受着各自信仰的影响。不同的信仰衍生出不同的文化,文明带来发展和扩大。可是,信仰之间却有个不可思议的共通点。任何格林伍德大陆上的信仰都有着被称为“天族”的神秘存在。
& &  据说天族无法被人们所认识到,但却拥有超常的力量影响着世界。人们敬畏、崇拜着天族。应该无法被人们所认识到的天族。但各信仰中却都有提到他们,这是因为受到偶尔出现的能够与天族交信的人的影响。他们和天族订下契约,将那“纯洁之身”作为天族住处的“容器”献上,从而借得天族的力量。因为那超常的力量,被人们当成神,时而也会被当成恶魔。
& &  不知从何而起,人们将能和天族交信的人敬称为“导师”。导师被称为“接受神之力的救世主”和天族一样受到敬畏、崇拜。
【游戏截图】
【游戏配置】
推荐配置
操作系统:& && &&&Windows 7 (x64) / Windows 8 (x64) / Windows 10 (x64)
处理器 :& && &&&Intel Core i3-530, 2.93 GHz / AMD Phenom II X4 940, 3.0GHz
图形显卡:& && &&&Nvidia GeForce GTX 560 Ti / AMD Radeon HD 7850
内存容量:& && &&&4 GB RAM
硬盘空间:& && &&&12 GB available space
操作系统:& && &&&Windows Vista, 7, 8, 10
处理器 :& && &&&Intel Core 2 Duo 2.4Ghz / AMD Athlon 64 X2 5200 , 2.6GHz
图形显卡:& && &&&Nvidia GeForce 8800GT / ATI Radeon HD 4830
内存容量:& && &&&2 GB RAM
硬盘空间:& && &&&12 GB available space
【游戏安装说明】开始游戏或者解压缩游戏时候注意关闭杀毒软件,防止误杀免DVD文件
1. 用WINRAR软件解压缩游戏到硬盘上
2. 开始游戏
2.2版本说明
校改了现有文本。解决了跳出BUG。
文件总数:13,文件总大小:11.1GB
Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213 Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part01.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part02.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part03.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part04.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part05.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part06.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part07.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part08.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part09.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part10.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part11.rar(1000MB) Tales.of.Zestiria.v.1.2.Incl.11.Dlcs.CHS.2.2-ALI213.part12.rar(387.9MB) 游侠网NETSHOW.exe(1MB)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
http://user./
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
2:点击“Install”安装按钮
3:对话框提示“主窗口会消失,不要恐慌,因为这是正常的。该应用程序将运行在后台,直到一切已安装。 不要关闭您的系统,而安装工作正在进行中。”点击“OK”按钮
4:一直等到出现上图的对话框“程序,证书和序列号已成功安装。 必须重新启动才能生效。”点击“Restart”后系统会重新启动。
&重启后,选择 立即获取正版
显示 激活成功,点关闭按钮进入系统
右击“计算机-属性”,显示“已激活”。
运行“slmgr.vbs -xpr”(不包括引号)命令,显示“计算机已永久激活”。
下载地址:【1.5MB】
阅读(6660)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'win7激活工具最新版:Windows 7 Loader2.2.1.0 使用方法',
blogAbstract:'win7激活工具最新版:Windows 7 Loader2.2.1.0 使用方法\r\n&\r\n&\r\n1:下载完解压后,右击“Windows 7 Loader.exe”选择“以管理员身份运行”\r\n&\r\n&\r\n\r\n&\r\n2:点击“Install”安装按钮\r\n\r\n&',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:8,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'http://user./',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}百度拇指医生
&&&普通咨询
您的网络环境存在异常,
请输入验证码
验证码输入错误,请重新输入- 最好的系统光盘下载网站!
当前位置: >
> 详细页面
迅捷PDF编辑器 V1.2
大小:499 KB
语言:简体中文
授权:免费软件
类别:文字处理
下载:2039次
支持系统:Win2003 / WinXP / Win2000 / Win7 / Win8
安全检测:
360安全卫士
星级评价 :
  迅捷PDF编辑器是一款专业的PDF编辑工具,迅捷pdf编辑器本身集成了大量PDF文本编辑功能,可对pdf文件内容进行添加、修改、绘图标注等操作,彻底解决了PDF文档无法编辑的难题,完美实现PDF文件的编辑与阅读处理,欢迎大家下载使用。
  段落编辑:支持一键段落编辑,告别繁琐费时的行间编辑,省时省力。
  文档加密:编辑完成的文档,可以进行一键加密,保护您的文档。
  标注高亮:无论您进行PDF文档阅读或编辑,都可以进行标注高亮。
高速下载器通道:
其他下载地址:
本类月下载排名
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1

我要回帖

更多关于 感冒能打狂犬疫苗 的文章

 

随机推荐