`
opensdp
  • 浏览: 78314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring is the new Java EE

阅读更多

前些天曾经在Javaeye和一些网友讨论过"Java EE 是什么?"的话题,很多人对Java EE的范畴不是很了解.最近看到了Salil Deshpande--The Middleware Company 的执行总裁些的一篇文章,题目是:  Spring is the new Java EE version., 讲了一些Spring的发展前景,我觉得这篇文章对我们了解什么是Java EE有所帮助, 下面的这小段是他写的这篇文章的最后的一段,算是个引用吧,由于翻译水平有限,里面一些不懂的地方用问号标记了,请大家迁就,如果能给出正确的翻译是最好了.这篇文章既有趣味又有技术性,值得一看.

关 于Spring详细的话题太大了,我不得不在这篇文章了里再详细介绍它一遍. Rod Johnson的一次关于Spring 2.0的谈话中提到,在2007年剩下的时间里Spring将会和OSGI集成. OSGI一个Java的动态模块系统,这个东西在起初就本该是Java的一部分. 奇怪的是,它却因为Eclipse(插件)而普遍的使用在client端,而不知大家所知的server端. Spring-OSGi集成可能将会成为OSGi标准. 并且作为Spring是一个松耦合的,组件架构的证明,Spring已经成为了OSGi的有效的捆绑包

更长远的,Spring框架将会成为the Spring Portfolio(??). 它将会和JCA, CICS, and IMS集成. 会有Spring Web Services, 和 Spring LDAP. Spring的Message-driven POJOs将会成为可能. Acegi,这个领先的企业级Java安全框架,会成为Spring的Security框架. 跟Spring Message-driven POJO一样,会有Spring Web Flow. Spring在SOA中的角色会由于the Service Component Architecture (SCA)而标准化. 一个对Spring开发提供支持的IDE(由Eclipse插件实现)正在完善中,这个IDE提供了对AOP,Spring Web Flow的支持

也 许最重要的是,Interface21计划把这一大堆组成Spring平台或者是Spring portfolio的小部件打包,把它们做成一个可下载的文件…or distro(??). 这并只是把它们评凑的一起的事情,而是要经过测试,集成,给它们正确的版本,让它们相互配合工作. 我相信这将会稳固它. Enterprise Java将会意味这Spring.

最后,但并不是最不重要的,BEA,也许是IBM的下一代application server将会建立在Spring平台上. 不会是只有我发现了这些令人兴奋的事吧?

外刊IT评论  
分享到:
评论
21 楼 lgx522 2007-07-02  
Spring在解耦方面当前是最棒的!
所以Spring是当前企业应用的最佳选择。
前提是你做的应用的确够复杂(跨平台、多种数据访问方式、多种客客户端访问方式、高扩展性、高维护性、高安全性与高稳定性),否则就是自找麻烦。
至于极复杂的应用(分布式事务),还是得用EJB。
20 楼 找不着北 2007-05-11  
dovecat 写道
MS这帖又结了?
个人觉得spring确实已经整和很多J2EE的技术了.



我觉得JEE就是一个标准,规范,现在大家所使用的是sun对这个规范的实现,而其他开源组织也可以按照这个标准来实现一个,而如今Spring就快达到这个标准了
19 楼 抛出异常的爱 2007-05-10  
就像你现在这个样子没有逻辑性的问问题
18 楼 找不着北 2007-05-10  
<p> </p>
<p>一个题外问题:为什么这个帖子会被评为"新手帖",新手帖有什么特征或者标准?</p>
<p>哪位知道内情的人请告知一下,谢谢!!</p>
17 楼 daquan198163 2007-05-10  
j2ee包括组件模型(servlet/ejb...)和基础服务(JDBC/JTA...)两个部分
spring从一开始就定位在中间层框架,现在也没有改变
其作用就是:
帮助我们装配POJO并使其具有了事务,从而使得把业务逻辑从servlet/ejb提取到POJO里成为可能
封装/简化了各种基础服务的API
但是Spring并没有去重新实现这些底层服务,因此不能说他是J2EE
16 楼 opensdp 2007-05-10  
讨论这么多,就没一定实质性的东西,谁能告诉我 文中的 Portfolio  和 distro 两个单词如何理解???
15 楼 dovecat 2007-05-10  
pico总觉得用起来不习惯...
14 楼 balaschen 2007-05-10  
没有spring,我们可以pico,还可以用ajoo牛的yan啊
13 楼 dovecat 2007-05-10  
MS这帖又结了?
个人觉得spring确实已经整和很多J2EE的技术了.
12 楼 dennis_zane 2007-05-10  
为了反驳而反驳,或者为了spring而spring,都没什么讨论的价值了
11 楼 dennis_zane 2007-05-10  
我不是spring fans,我觉的我们的争辩已经偏离很远了,一开始您说的是spring的绑定问题,现在你又扯到部分由spring管理bean,部分自己维护bean的问题,总之,我不知道您想表达什么,为了反驳而反驳,or为了扯到更远?

既然由spring管理bean,就应当全部交给它去处理,或者使用FactoryBean进行扩展。
10 楼 林秋枫 2007-05-10  
dennis_zane 写道
林秋枫 写道
dennis_zane 写道
林秋枫 写道
dennis_zane 写道
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
怎么实现运行时候注入呢?
比如你在spring配置了一个数据源。
在spring容器外面怎么获得数据源这个bean呢?


你手工new啊,或者再弄个工厂模式来,再把工厂设为单例......这个时候,你需要自己设置dataSource的属性,这个工作本来是spring容器帮你做的,现在既然你抛开了spring容器,一切都要你来掌握了 ,spring哪里绑定了?
问题就在这里。
你手工new...工厂模式出来的数据源bean和spring中的完全是两个不同的实例。

就是说,如果在在一个web系统里面只想部分使用spring,比如用spring来实现发送邮件的bean,如果web层没有加载spring容器,就无法使用这个bean了。


怎么会是不同的实例呢?我觉的你对为什么要IOC,IOC是什么这两个问题的理解很有问题。spring容器管理的bean跟你自己手工new的bean没有什么两样,只不过你手工new,你需要为这个bean手工注入各个属性,而spring容器可以帮你做这件事情。发送邮件?既然没有spring来替你管理bean,你就要自己手工去创建这个bean啊 搞了半天,不知道你有没有明白我在说什么!-_-
还是举数据源这个例子。
如果系统只是部分使用spring。

在spring配置了一个数据源的bean,在spring容器之外又new了一个数据源的bean。
两个地方配置参数统一性维护是一个问题,在系统中使用又存在统一性的问题。
9 楼 dennis_zane 2007-05-10  
林秋枫 写道
dennis_zane 写道
林秋枫 写道
dennis_zane 写道
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
怎么实现运行时候注入呢?
比如你在spring配置了一个数据源。
在spring容器外面怎么获得数据源这个bean呢?


你手工new啊,或者再弄个工厂模式来,再把工厂设为单例......这个时候,你需要自己设置dataSource的属性,这个工作本来是spring容器帮你做的,现在既然你抛开了spring容器,一切都要你来掌握了 ,spring哪里绑定了?
问题就在这里。
你手工new...工厂模式出来的数据源bean和spring中的完全是两个不同的实例。

就是说,如果在在一个web系统里面只想部分使用spring,比如用spring来实现发送邮件的bean,如果web层没有加载spring容器,就无法使用这个bean了。


怎么会是不同的实例呢?我觉的你对为什么要IOC,IOC是什么这两个问题的理解很有问题。spring容器管理的bean跟你自己手工new的bean没有什么两样,只不过你手工new,你需要为这个bean手工注入各个属性,而spring容器可以帮你做这件事情。发送邮件?既然没有spring来替你管理bean,你就要自己手工去创建这个bean啊 搞了半天,不知道你有没有明白我在说什么!-_-
8 楼 林秋枫 2007-05-10  
dennis_zane 写道
林秋枫 写道
dennis_zane 写道
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
怎么实现运行时候注入呢?
比如你在spring配置了一个数据源。
在spring容器外面怎么获得数据源这个bean呢?


你手工new啊,或者再弄个工厂模式来,再把工厂设为单例......这个时候,你需要自己设置dataSource的属性,这个工作本来是spring容器帮你做的,现在既然你抛开了spring容器,一切都要你来掌握了 ,spring哪里绑定了?
问题就在这里。
你手工new...工厂模式出来的数据源bean和spring中的完全是两个不同的实例。

就是说,如果在在一个web系统里面只想部分使用spring,比如用spring来实现发送邮件的bean,如果web层没有加载spring容器,就无法使用这个bean了。
7 楼 dennis_zane 2007-05-10  
林秋枫 写道
dennis_zane 写道
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
怎么实现运行时候注入呢?
比如你在spring配置了一个数据源。
在spring容器外面怎么获得数据源这个bean呢?


你手工new啊,或者再弄个工厂模式来,再把工厂设为单例......这个时候,你需要自己设置dataSource的属性,这个工作本来是spring容器帮你做的,现在既然你抛开了spring容器,一切都要你来掌握了 ,spring哪里绑定了?
6 楼 林秋枫 2007-05-10  
dennis_zane 写道
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
怎么实现运行时候注入呢?
比如你在spring配置了一个数据源。
在spring容器外面怎么获得数据源这个bean呢?
5 楼 dennis_zane 2007-05-10  
林秋枫 写道
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。

怎么不能在运行时注入?如果你不希望使用spring IOC,那你自己手工setter,手工new对象,spring并没有限制你的行动。你完全可以甩开spring容器,回到遍地工厂模式、单例模式的时代。
4 楼 rainlife 2007-05-10  
dennis_zane 写道
spring是java EE标准的成功实现这一说法比较奇特。换句话,应该说spring是相比于java EE标准的另外一种整合java EE各项技术的方式。

是的,您的这个说法比较贴切 ,呵呵。
3 楼 林秋枫 2007-05-10  
spring除了技术比较成功之外,商业策略也是比较成功或者是有点阴险的。
由于在spring中,bean实例只能配置在静态xml文件中,不能在运行的时候注入。所以实际上系统只要使用到spring一点功能,就必须依赖于spring容器,甩也甩不开。这点非常不好。
2 楼 dennis_zane 2007-05-10  
rainlife 写道
如果Spring不能上升为JAVA企业级开发的标准,那么,它永远也不可能是new Java EE version,而只能算是Java EE标准的一个成功实现。


实际上的标准远比纸面上的标准来的实在,另外,spring是java EE标准的成功实现这一说法比较奇特。换句话,应该说spring是相比于java EE标准的另外一种整合java EE各项技术的方式。

相关推荐

    Microservices for Java EE Architects-DVT Press(2016).azw3

    This book details microservices architecture and is an addendum to the Java EE Architect’s Handbook, Second Edition. This book will define microservices architecture and provide an overview of costs ...

    Java.EE.Development.with.Eclipse.2nd.Edition.178528534

    Go beyond simply learning Java EE APIs and explore the complete workflow of developing enterprise Java applications Learn to use the features of Eclipse JEE to simplify Java EE application development...

    Pro Spring 5(Apress,5ed,2017).pdf

    Spring now works with Java EE and JPA 2 as well. What You’ll Learn Discover what’s new in Spring Framework 5 Use the Spring Framework with Java 9 Master data access and transactions Work with the...

    Spring Recipes: A Problem-Solution Approach, Second Edition

    This book is for Java developers who would like to rapidly gain hands-on experience with Java/Java EE development using the Spring framework. If you are already a developer using Spring in your ...

    Spring Recipes A Problem-Solution Approach [英文原版]

    When the Spring framework debuted, few would have agreed that Java EE represented the best-in-breed architectures of the day. Spring debuted to great fanfare, because it sought to simplify Java EE. ...

    Pro Spring MVC With Web Flow

    This book is also for experienced enterprise and Java programmers who are new to the Spring Framework. Table of Contents Configuring a Spring Development Environment Spring Framework Fundamentals Web...

    韩顺平java笔记完整版

    【Java编程基础知识】 ...韩顺平老师的笔记很可能还涉及了实际项目开发中的最佳实践、设计模式以及Java EE的相关知识,如Servlet、JSP、EJB、JPA、Spring框架等。这些内容对于理解和提升Java开发技能至关重要。

    spring-boot-reference.pdf

    37.4. Using a Java EE Managed Transaction Manager 37.5. Mixing XA and Non-XA JMS Connections 37.6. Supporting an Alternative Embedded Transaction Manager 38. Hazelcast 39. Quartz Scheduler 40. Spring ...

    Apache Tomcat 7

    This book is for those Web developers and/or Java programmers new to the open-source Apache Tomcat Web server. It's also for those new to the latest release, version 7. 作者简介: Aleksa Vukotic is ...

    Spring 3.x 企业应用开发实战,第十八章PDF

    JavaMail并非内置于标准JDK中,而是作为Java EE的一部分由Sun公司定义的一组API。不同厂商可以根据这些API定义来提供自己的实现类。JavaMail主要支持以下几种邮件协议: - **SMTP (Simple Mail Transfer Protocol)*...

    java-多文件上传dome

    在Java中,处理多文件上传通常涉及到Servlet API,特别是`Part`接口,它是Java EE 7引入的一个用于处理HTTP请求中的多媒体内容部分的接口。`Part`接口允许我们读取上传文件的内容,包括文件名、大小以及内容本身。...

    thymeleaf-extras-eclipse-plugin-2.1-master.zip

    Eclipse Indigo SR2 (3.7.2) w/ Web Tools Platform 3.3.2 (ie: the Java EE Developer bundle) Installation In Eclipse, go to Help &gt;&gt; Install New Software... then either use the update site URL, or ...

    java上传和下载

    Java中,我们可以利用Servlet API来处理HTTP请求,特别是`Part`接口,它是Java EE 7引入的,用于处理multipart/form-data类型的表单数据,即文件上传数据。以下是一个简单的文件上传示例: ```java @RequestMapping...

    java最经典面试题.doc

    - **JSF**:Java Server Faces,Java EE标准的Web应用框架。 #### 十六、开发中使用的设计模式及其应用场景 - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - **应用场景**:数据库连接池、...

    java:实用

    Spring框架则是一个轻量级的Java EE替代方案,提供了AOP、DI、MVC等功能。 以上是Java编程的一些核心知识点,掌握这些内容将有助于你成为一位合格的Java开发者。不断学习和实践,才能在Java世界中游刃有余。

    Struts2与FreeMarker模板

    Struts2是Apache软件基金会的一个开源项目,它是一个用于开发Java EE应用程序的MVC(Model-View-Controller)框架。Struts2继承了Struts1的优点,并在此基础上进行了许多改进和增强。Struts2的核心是一个实现了拦截...

    cxf 客户端实现

    CXF支持多种协议,如HTTP、HTTPS、JMS等,并且可以与Java EE、Spring框架无缝集成。在CXF中,客户端和服务端都可以通过WSDL(Web Services Description Language)来描述接口和消息交换格式。 **二、CXF客户端创建...

Global site tag (gtag.js) - Google Analytics