- 浏览: 1030062 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
繁星水:
Useful!!
Object-C之(Null)与(Bool) -
pacer123:
请问注解@ApiModelProperty 在哪个jar包下面 ...
Micro Service工具集之Swagger:可测试的样式化API文档 -
sucheng2016:
这东东真的好用么/
对象转换利器之Dozer -
zzq0324:
http://git.oschina.net/zzq0324/ ...
基于Spring-WS的Restful API的集成测试 -
lrz0534:
你好,我在maven上面下载了swagger-springmv ...
Micro Service工具集之Swagger:可测试的样式化API文档
JDK8
对JDK8的支持,这个目前来说还是探索性质,毕竟Java 8自己都还没有GA,而且应该没有公司会在目前的情况下使用JDK8做产品开发。因此,暂时可忽略。
Groovy Bean Definition DSL
即可以通过Groovy class来配置Bean,以及Bean之间的相互依赖,即Spring2时代推出的xml配置,Spring3推出的Annotation配置,Spring4为配置方式又增添了一位新成员Groovy DSL。举个栗子:
核心容器功能的改进
这部分是应该是当前Spring用户最关注点:
Web开发改进
测试框架改进
对JDK8的支持,这个目前来说还是探索性质,毕竟Java 8自己都还没有GA,而且应该没有公司会在目前的情况下使用JDK8做产品开发。因此,暂时可忽略。
Groovy Bean Definition DSL
即可以通过Groovy class来配置Bean,以及Bean之间的相互依赖,即Spring2时代推出的xml配置,Spring3推出的Annotation配置,Spring4为配置方式又增添了一位新成员Groovy DSL。举个栗子:
import org.hibernate.SessionFactory import org.apache.commons.dbcp.BasicDataSource beans { dataSource(BasicDataSource) { driverClassName = "org.hsqldb.jdbcDriver" url = "jdbc:hsqldb:mem:grailsDB" username = "sa" password = "" settings = [mynew:"setting"] } sessionFactory(SessionFactory) { dataSource = dataSource } myService(MyService) { nestedBean = { AnotherBean bean -> dataSource = dataSource } } }DSL配置在概念上和其他配置方式是一样的,只是提供了一种更简洁的语法,这个方式的实现得益于Grails的BeanBuilder,所有支持的DSL语法也来自于这儿:http://grails.org/doc/latest/guide/spring.html#theBeanBuilderDSLExplained, 如果你想追踪这个想法的起源,可以看看这篇文章:http://spring.io/blog/2007/11/29/spring-dynamic-language-support-and-a-groovy-dsl/ 另外,这儿有一篇非常好的文章详细描述了如何使用该特性:http://jinnianshilongnian.iteye.com/blog/1991830。总的来说, 个人觉得使用DSL的配置方式,就像Build工具界的Gradle之于Maven,它极大的灵活了Spring的配置文件,可以通过groovy脚本实现非常复杂的Bean定义和依赖关系,甚至玩出很多魔幻语法,但与之对应的是, 我们是否应该在配置文件里面玩那么复杂?不过,多一个选择总是好的,让大家有得挑。
核心容器功能的改进
这部分是应该是当前Spring用户最关注点:
- 支持泛型依赖注入,即对自动注入依赖的识别扩展到了泛型的类,以前,如果有GenericInterface<A>, GenericInterface<B>两个Bean时,当想注入GenericInterface<A>依赖时, 容器是无法识别的,你需要使用@Qualifier指定具体的bean id,Spring4.0中则可以直接找到对应的Bean。这个特性对程序员的好处,请查看这篇文章:http://jinnianshilongnian.iteye.com/blog/1989330
- 使用meta-annoation方式定义Annotation时, 该Annotation可以访问源Annotation的部分属性,以更加方便的定制自己想要的Annotation。
- Bean依赖注入到Map和List,Array中, 即提供了一种方式获取到某个类型的所有Bean,当注入到Map中时, Key为Bean的名字,value为Bean实例。
@Autowired private MovieCatalog[] movieCatalogs; …. @Autowired private Set<MovieCatalog> movieCatalogs; …. @Autowired private Map<String, MovieCatalog> movieCatalogs;如果,你对Bean在Array或List中的位置有特殊需求,Spring4.0还提供了@Order annotation和Ordered接口来定义Bean注入到Array/List中的顺序.
- 扩展@Lazy annotation,除了延迟加载Bean,依赖注入也可以延迟了。
- 提供了@Description annotation为Bean添加描述。
- 增加了@Condition annotation, 使用该Annotation之后,在做依赖注入的时候,会检测是否满足某个条件,这样可以更灵活的决定注入的类,具体用法参见:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Conditional.html,或者说这篇文章:http://jinnianshilongnian.iteye.com/blog/1989379。
- 基于CGLIB的代理类不在强制要求空参构造函数了,提供了一种“一旦注册,不许修改”的注入策略。
Web开发改进
- 增加了@RestController annotation, 就是把@Controller和@ReponseBody打包了,省得大家再去每个方法上加一个@ResponseBody了。
- 新加了AsyncRestTemplate类,可以用来构建异步调用的Restful Client, 具体用法看这儿:http://jinnianshilongnian.iteye.com/blog/1989381,或者这儿:http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#rest-async-resttemplate
- Spring4.0基于Servlet3.0+版本开发,尤其是Spring MVC的测试框架中的Mock都是基于Servlet3.0包中的一些类的,因此使用时必须把兼容Servlet 3.0的包添加到Classpath中。
- 为Spring MVC应用增加了Timezone的支持,可以在RequestContext获取,设置TimeZone信息,Spring还提供Datetime的转换功能:http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#mvc-timezone
- 提供了 WebSocket, SockJS, and STOMP Messaging的支持,在一个Controller中,除了可以处理 @RequestMapping对应的Http请求,还可以处理对应@MessageMapping的WebSocket Client发来的Message请求,哪些不支持WebSocket的浏览器,Spring4.0提供了基于SockJS协议的Message处理,即你可以在浏览器基于SockJS协议模拟一个Web Socket的请求,Spring4.0也可以处理。具体的说明:http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#websocket
- 支持STOMP Message协议
测试框架改进
- 几乎所有spring-test模块下的annotation(比方说:@ContextConfiguration, @WebAppConfiguration, @ContextHierarchy, @ActiveProfiles)都可以做元annoation, 这样开发者就可以更方便得定制自己的annotation,以增强代码表现力和减少多个Test之间的重复代码。
- 增加了一种更灵活的ActiveProfiles的决定方式,定制一个ActiveProfilesResolver并把它设置到@ActiveProfiles的resolver属性上。
- 添加了SocketUtils类帮忙扫描本地机器上的可用Socket端口,当需要在本地起一个mock server时这个功能非常实用。
- org.springframework.mock.web包下的Mock类都与Servlet 3.0兼容了
评论
4 楼
ningandjin
2014-01-20
江南白衣 写道
谢谢Spring 4.0 What is new的完整翻译啊...可以发到更多地方
白衣兄助攻一下?
3 楼
江南白衣
2014-01-18
谢谢Spring 4.0 What is new的完整翻译啊...可以发到更多地方
2 楼
ningandjin
2013-12-24
manong_java 写道
貌似用到的特性都非常的少, 不过websoket是个关注的方向 可以介绍下websocket方面的
WebSocket感觉就是把Ajax调用弄到4层的TCP协议上, 这样就不用走7层的HTTP协议,对性能有帮助。
1 楼
manong_java
2013-12-23
貌似用到的特性都非常的少, 不过websoket是个关注的方向 可以介绍下websocket方面的
发表评论
-
关于并发的思考
2015-02-08 22:33 4271并发数 并发数和2个因 ... -
使用Hystrix守护应用(3)
2015-01-02 22:04 12826监控HystrixCommand 除了隔离依赖服务的调用外,H ... -
使用Hystrix守护应用(2)
2014-12-30 14:35 16762接上篇(http://ningandjiao.iteye.co ... -
使用Hystrix守护应用(1)
2014-12-30 14:28 15188Hystrix(https://github.com/Netf ... -
Mac下同时安装多个版本的JDK
2014-04-14 21:42 33120JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下 ... -
性能测试工具之Gatling
2014-01-15 19:27 17224Gatling一直是久闻其名但 ... -
JavaMail测试工具之GreenMail
2014-01-08 19:13 7323不管现在各种Mock框架的运用有多广,我个人在写单元测试的时候 ... -
定制一个Gradle Plugin --- project-structure
2014-01-03 21:23 8414最近在项目中遇到一个 ... -
Restful Spring MVC应用的Request验证
2013-12-26 15:05 23301在开放平台的时候,尤其是坐Rest服务的时候,因为用户可以给你 ... -
Spring MVC中的异常处理
2013-12-25 13:13 24103在一个良好的Rest架构的应用中,所有的异常都应该有对应的Ht ... -
Spring 4.0升级小贴士
2013-12-22 19:40 11393随着Spring4.0的发布,很多同志估计都在考虑升级的事情了 ... -
RESTful API版本控制策略
2013-12-15 19:51 31607做RESTful开放平台,一方面其API变动越少, 对API调 ... -
对象转换利器之Dozer
2013-12-14 22:46 19786在Java的世界中,经常会 ... -
基于Spring-WS的Restful API的集成测试
2013-11-28 19:41 8918在很多Java企业级应用中,Spring占据了非常重要的位置, ... -
TDD Of Spring JMS
2013-11-25 19:53 1702不知何时养成了习惯,在没有一个可运行的测试的时候,个人完全没有 ... -
Micro Service工具集之Swagger:可测试的样式化API文档
2013-09-28 19:55 44658在我之前的一篇博文中,介绍了Yammer开发团队贡献的开源微服 ... -
进击的Java开发
2013-07-14 20:48 5851今天在公司的邮件组中看到一组很有趣的讨论,这是我最喜欢目前公司 ... -
说说SpringBatch的领域概念
2013-06-21 20:32 3578谈到Spring Batch,会谈到 ... -
做项目时需要考虑的安全性问题
2013-04-16 20:20 4724在开发一个项目的时候,大家经常会忽略项目的安全性问题,有很多的 ... -
使用Gradle部署jar包到Maven中央库
2013-04-12 16:15 24085Maven作为目前Java界最好的Dependency管理系统 ...
相关推荐
利用maven构建的spring4.0框架的demo
spring4.0完整jar包 包含spring4.0 所有的jar包文件 打包下载
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: <?xml version="1.0" encoding="UTF-8"?> xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Spring4.0-API CHM格式,很难得的,希望能帮到大家!
Spring4.0 jar包
spring4.0框架所需的jar包,没有包含maven,没有其他框架用的jar包,仅仅是spring框架,每一个都是自己下载的,搭建成功。
spring4.0详细教程,简单明了,一看即懂 ,适合初学者
spring4.0.x源码
spring4.0+spring MVC4.0+hibernate4.3框架整合测试案例,支持事务,全注解,配置清晰,基础BaseDao接口实现都已写好,MVC分层,含所有需要的jar包,数据库文件。
Spring4.0+SpringMVC4.0+Mybatis3.2框架整合例子(SSM) 自动生成代码 简单试用
Spring 4.0.x版本的源代码。
Spring4.0源代码,GitHub 2014.1月份最新版
Spring框架4.0这个版本支持了众多Java 8的新特性,新增了对WebSocket、STOMP等技术的支持,并增强了测试、Web开发的便利性,另外,在这个版本中还删除了废弃的方法和类。
spring 4.0.x eclipse编译 可导入
spring4.0,开发工具jar包集合
spring 4.0企业开发实战。写的不错,。。。。。。。。。
spring 4.0 doc api,开发文档,找了2分钟才找到。。
spring4.0和hibernate4.0框架的标准整合,此框架实现了hibernate根据实体自动创建表(前提是你要在mysql中创建名为testspring的库),spring的aop拦截功能,帮助了解aop,和spring事物控制,异常回滚以及junit4的测试...