硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

Spring 专家 Isvy 北京专访:Spring 3.0 近况

  • 2009-02-26
  • 本文字数:1609 字

    阅读完需:约 5 分钟

InfoQ 中文站逮到来北京公干的 SpringSource 资深咨询师 Michael Isvy,跟他打听了一些 Spring 的近况,也请他说明了一下 Spring 旗下越来越多,难免令人搞不清楚谁跟谁的众多项目。以下是详细采访内容:

InfoQ 中文站(以下简称 InfoQ):吃了吗,Michael?什么风把您吹到北京来了?

Michael:您客气。我这次来北京是筹备中国大陆第一次原装正版的 Core-Spring 培训,时间在 3 月 9 日到 13 日(详情见此)。我来坐镇指挥,也趁机在中国度个假。

InfoQ:能给我们透露一下 Spring 3.0 将会有什么新功能吗?

Michael:就等着你问呢。Spring 3.0 会带来不少好东西,我就挑几个来说吧。Spring 3.0 会加入几个新的 xml 命名空间,比如“orm”和“web”。它们将会帮你的应用减少不少配置代码。 还有,现在对 REST 感兴趣的 Spring 用户越来越多,所以 Spring 3.0 也会全面集成 REST。 我们还在忙着开发很多功能,比如 Spring Expression Language、Spring @MVC 用的声明式验证、支持 Portlet 2.0 等等。至于向后兼容的方面,我必须说明 Spring 3.0 将会完全基于 Java 5。所以如果你现在正在用 Java 1.4,那么必须先迁移到 Java 5 才能用 Spring 3.0。

InfoQ:那么在 Web 技术方面 Spring 有什么新招?

Michael:首先我们有 Spring MVC,有时候也叫做 Spring @MVC。从名字就可以看出来,@MVC 是一个注解驱动的 MVC 框架。一个非常灵活、非常容易扩展的框架。 如果你的应用需要富 UI 和 AJAX 功能,我建议你看看 Spring JavaScript。这个 JavaScript 库可以帮你做部分提交(partial submits)、客户端验证之类。 我还应该提一下 Spring Web Flow。如果你的应用在某些地方要求很复杂的导航,那就应该用它。举个例子,比如要在网上订机票,你需要填写好几页的表单,包含的数据很多(航班信息、个人信息、付款信息等等)。可能要 5、6 页才能完成交易过程。这么一组页面我们叫做一个会话(conversation)。Web Flow 可以帮你:

  • 在整个会话过程中管理浏览器的后退和刷新按钮事件。
  • 将数据保存在一个“会话(conversation)”作用域,并且当会话结束时数据会自动 flush。

InfoQ:请再介绍一下其它 Spring 项目,比如 Spring Batch、Spring Security、Spring Integration,这一串够长的,都是什么呀?

Michael:Spring 项目一大把,完整名单请见 http://www.springsource.org/projects 。每个项目都有专门的技术领域。比如 Spring Batch 帮你用很少的代码就能在 Java 中完成复杂的批量处理程序。它可以很方便地在纯文本、XML 文件中读取数据,还针对数据库大批量数据处理的情况(比如更新一百万行)作了优化。 Spring Security 就是以前的 ACEGI 项目,安全方面凡是 JEE 没有提供的它都做:cookie 身份验证、用户记忆(remenber-me)、单点登录(使用 CAS)。Spring Integration 是我们产品线的新成员之一。它为基于 Spring 的应用提供简单消息功能,并且使应用通过简单的适配器就能够与外部系统集成。

InfoQ:能不能再说说 OSGi 和 SpringSource DM Server?

Michael:先来个简单定义吧。SpringSource DM Server 是我们开发的一个开源应用服务器。它不是“传统的”应用服务器,因为它在 OSGi 的基础上用了一种新方法去搭建 Java 应用 *。 OSGi 是一个很强大的标准,它把你的一个应用分成许多 bundle。每个 bundle 都是独立的,并且声明了一系列它会暴露出的服务。Bundle 可以热部署和更新,无论开发环境还是生产环境都可以。

我相信以后会有越来越多应用需要这样的功能。如果你想在应用中用纯 OSGi, 那么必须写很多支持代码才能集成它。我们在 DM Server 上费了很多功夫,保证你只花极小的成本就能用上 OSGi,你只需要写业务代码和 Spring 配置就够了。本来就应该这样:)。

InfoQ:好了 Michael,谢谢你的回答。

Michael:不客气,我高兴还来不及呢。

*注:SpringSource 也不打算把 DM Server 做成“认证的”JEE 应用服务器。它不会通过 JEE 5 认证,只会通过 JEE 6 规范中某些 Profile 的认证

2009-02-26 22:314675

评论

发布
暂无评论
发现更多内容

密码学系列之:twofish对称密钥分组算法

程序那些事

加密解密 密码学 程序那些事

react native实践总结与思考

碗盆

android 跨平台 React Native

过一过Java“锁”事

CodeWithBuff

Java 并发 同步

研发管理工具 ONES 完成3亿人民币 B1 B2 轮融资,继续领跑研发管理赛道

万事ONES

项目管理 融资 研发管理工具 ONES

Test

bobcatzoo

内蒙古公安重点人员管控研判平台建设方案

浪潮云说丨浪潮云智能对话,想你所想,无限畅聊

AI框架中图层IR的分析

华为云开发者联盟

mindspore IR

成为你想要看到的改变,首先就是让正确的事情持续的发生。

叶小鍵

毕业论文被不小心删除了,有什么方法可以恢复?

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

推荐一个MySQL宝藏网站

Simon

MySQL 网站

百度关于EMP的探索:落地生产可用的微前端架构

百度Geek说

项目案例--吃货联盟

加百利

Java 项目 案例 6月日更

测量电压调节器输出纹波和开关瞬变的方法

不脱发的程序猿

硬件研发 输出纹波测量 开关瞬变测量 电源测试 测量电压调节器

Linux之less命令

入门小站

Linux

如果非要在多线程中使用 ArrayList 会发生什么?(第二篇)

看山

Java 并发编程

[译] R8 优化: Lambda Groups

Antway

6月日更

我看 JAVA 之 线程同步(下)

awen

Java synchronized JOL 锁升级

扩展ADO.net实现对象化CRUD(.net core/framework)

Spook

.net ORM ado

Rust从0到1-函数式编程-迭代器

rust 函数式编程 Iterator 迭代器

【源码篇】Flutter Bloc背后的思想,一篇纠结的文章

小呆呆666

flutter ios android 大前端

趣谈Java类加载器

程序猿阿星

Java ClassLoader 类加载器

基于 BDD 理论的 Nebula 集成测试框架重构(下篇)

NebulaGraph

分布式数据库 测试 图数据库 BDD

anyRTC视频连麦demo上线啦!

anyRTC开发者

音视频 WebRTC 直播 视频直播 直播连麦

谈一谈Java的网络编程

CodeWithBuff

Java 网络io

ONLYOFFICE-基本组成及工作原理

一个需求

onlyoffice

ZooKeeper实战

CodeWithBuff

Java zookeeper

数据结构——顺序栈

若尘

数据结构 6月日更

【源码篇】Flutter Provider的另一面(万字图文+插件)

小呆呆666

flutter ios android 大前端

Dapr:我不是Service Mesh!我只是长得很像

中原银行

云原生 Service Mesh istio Multi-Architecture dapr

【全球软件大会】华为前端工程师分享:华为云官网的智能化实践

华为云开发者联盟

算法 智能化 华为云官网 全球软件大会 内容分发

Spring专家Isvy北京专访:Spring 3.0近况_Java_霍太稳@极客邦科技_InfoQ精选文章