网站开发商,株洲建设公司网站,网站建设网站图片放哪个,微网站建设需付费吗这篇小文章的初稿标题为“ Spring#xff06;Java EE –比较苹果和橙子”。 在撰写本文时#xff0c;我了解到可以比较Spring Framework和Java EE#xff0c;但这始终是不公平且不完整的工作。 Java for Enterprise和Spring Framework的发展紧密地联系在一起。 两者相互依存… 这篇小文章的初稿标题为“ SpringJava EE –比较苹果和橙子”。 在撰写本文时我了解到可以比较Spring Framework和Java EE但这始终是不公平且不完整的工作。 Java for Enterprise和Spring Framework的发展紧密地联系在一起。 两者相互依存部分复制了好的概念。 在表1中您可以看到一个简化的时间表其中包含Java平台企业版和Spring框架的一些关键里程碑。 该表说明仅将Java EE v6与Spring v3.0进行比较是有意义的。 Spring Framework和J2EE的早期版本已过时并且Java EE v7仍未发布实际上延迟到2013年第二季度 。 表1Java平台和Spring框架的时间表 年 Java平台标准版 Java平台企业版 Spring框架 关键 里程碑 2000 J2SE v1.3 J2EE v1.2.1 EJB 2 –困难的部署描述符 –困难的测试 –很多多余的工件 2001 J2SE v1.3 2002年 2003年 J2SE v1.4 J2EE v1.4 2004年 Springv1.0 第一个Spring框架 –依赖注入IoP –没有Java EE应用程序服务器 -J2EE的竞争对手 2005年 Springv1.2 2006年 J2SE v5 Java EE v5 Springv2.0 Java EE 5EJB 3.0 –许多功能受Spring启发 –消除了组件家庭和远程接口 2007年 Springv2.5 2008年 2009年 Java SE v6 Java EE v6 Springv3.0 Java EE 6EJB 3.1 –接口是可选的 –单例豆 –类似cron的调度 –嵌入式容器 Spring3.0 –Spring表达语言 –具有改进的REST支持的MVC框架 2010年 2011年 Java SE v 7 Spring v 3.1 因此在表2中列出了Spring Framework的主要构建块。 控制容器的反转是Spring框架的核心功能。 要了解其工作原理您还可以检查一个基于Spring框架的最小Java应用程序 示例代码使用Spring 2.5.6.A但主要原理与Spring 3.0相同。 表2Spring v3.0框架的选定构建基块 控制容器倒置 –控制反转 –依赖注入 –使用XML文件和/或注释进行配置自动接线 模型-视图-控制器框架 –域对象模型 -通常JSP模板视图 -DispatcherServlet作为Controller的前控制器 面向方面的编程框架 –涉及各方面问题的基本AOP –基于拦截并在运行时进行配置 –使用XML文件和/或注释进行配置 批处理框架 -处理大量的记录或任务包括日志记录跟踪事务作业管理资源管理异常转换 数据访问框架 –为流行的框架提供支持 – JDBCiBatisHibernateJDOJPAOracle TopLinkApache OJB和Apache Cayenne 交易管理框架 –抽象机制JTA仅支持嵌套事务和全局事务并且需要应用程序服务器 远程访问框架 –使用Java平台上可用的各种基于RPC的技术来进行客户端连接和在服务器上导出对象 来源和进一步阅读 http : //en.wikipedia.org/wiki/Spring_Framework 在表3中列出了Java平台企业版6的主要标准和组件。 该表清楚地表明Java EE 6包含许多标准而不仅仅是一个框架。 表3Java EE 6体系结构的选定构建块 图片来源 Java EE 6教程 p39 客户端机器 – Java Server FacesJSF 2.0 – JSP标准标记库JSTL –具有JavaServer Faces技术的Ajax – FaceletsXHTML –支持表达语言EL –组件和页面的模板 – Java Servlet技术Servlet 3.0 –国际化和本地化Web应用程序 Java EE服务器 – Enterprise JavaBeans企业Bean组件 – JAX-RS RESTful Web服务 – JAX-WS Web服务端点 –企业Bean作为POJO会话和消息驱动 –作为POJO的托管Bean –拦截器 – Java依赖注入JSR 330 –上下文和依赖注入CDIJSR 299 –最小化部署描述符需求的注释 –会话Bean中的异步方法调用 –声明和程序安全 – Java消息服务JMSAPI – Java持久性API实体 坚持不懈 – Java数据库连接APIJDBC – Java持久性API 2.0 – Java EE连接器体系结构 – Java交易APIJTA 来源和进一步阅读 http : //olex.openlogic.com/wazi/2010/get-started-with-jee6/ 实践经验 几年前当我开始学习Spring Framework 3.0时我实现了一个带有许多Spring功能的小型Web应用程序。 老实说这比完成这项任务所必需的更多。 这个小型应用程序具有用于单元和集成测试自动化的大量测试代码。 它具有100的线路和分支覆盖率。 一段时间后我决定基于Java EE 6架构实现完全相同的应用程序以比较这两种方法。这两种技术都运行良好代码大小几乎相同并且具有良好的可维护性。 一个重要的区别是对测试的支持。 Spring Framework对测试提供了出色的支持而Java EE 6在此存在一些弱点。 对于Java EE 6您可以使用Embedded Glassfish但是这种方法烦人缓慢嵌入式容器的启动时间很长并且配置麻烦。 Spring Framework的另一个突出功能是易于集成旧应用程序。 逐步地更新旧应用程序比较容易例如一开始就使用JDBC事务管理和IoC的一小部分。 结论 从体系结构的角度来看Spring和Java EE的模型是竞争者。 取决于组织的策略和约束两者都会显示出优点和缺点。 通常不建议将两者结合使用因为这既浪费EJB容器功能和/或难以维护。 在某些选定的情况下在Java EE 6应用程序中使用Spring Framework的Building Blocks是有意义的例如Spring BatchData Access。 Spring框架不是标准-它是框架的产品和实现。 这意味着没有其他供应商。 请记住这一点。 参考 轻量级Java企业体系结构– Spring 3 Framework与Java EE 6之间的不公平且不完整的比较来自我们的JCG合作伙伴 Markus Sprunck位于Software Engineering Candies博客上。 翻译自: https://www.javacodegeeks.com/2012/05/spring-3-and-java-ee-6-unfair-and.html