What is the difference between J2EE and Spring
来自于:https://www.quora.com/What-is-the-difference-between-J2EE-and-Spring
Lot of people specially those who are new in Java world are confused with these terms J2EE, JavaEE, J2SE, JDK, Spring, EJB's etc.
Lets Keep it Simple Stupid.
- What is Java Standard Edition.
(This will clear the confusion related to JDK, J2SE, JavaSE)
- In general, you can say this is the core of Java.(The prime part)
- You need it, for developing desktop applications as well as web based applications.
- It provides everything from basic objects to high level classes which are used for networking, database access, security, XML parsing, GUI development.
- Along with this core APIs, it also provides virtual machine (JVM), development tools, deployment technologies etc. (Check here for more details - JDK Development Tools)
- Below diagram will show you the version history of Java Standard Edition. - image taken from http://codingfox.com
- You can see that Java Standard Edition was called by different names in different years. Hence these different names came into existent, which is now creating the confusion to beginners ;)
- But JDK, J2SE, JavaSE are same core part of Java, with more enhanced features and more classes and functionalities.
- What is Java Enterprise Edition.
(This will clear confusion about J2EE, JavaEE)
- Java Enterprise Edition is an abstract specification.
- The concrete implementation are so called as the application servers like - GlassFish, WildFly, WebLogic.
- When you download JavaEE from Oracle's site, it will give you GlassFish server with bunch of documentations and examples. So they are just providing the implementation of Java Enterprise Edition specification.
- You can also prefer to use the other implementations like RedHat WildFly which also follows these specifications.
- Below is the version history- taken from Imgur
- So, J2EE, JavaEE are just the different versions.
- Does EJB follows JavaEE specifications?
- Yes, EJB is a part of JavaEE specifications. Full fledge JavaEE application server support EJB's out of the box.
- This means you can NOT run EJB applications on simple servlet container like Tomcat.
- Does Spring follows "ALL" JavaEE specifications?
- Strictly speaking NO
- Spring is a standalone framework, which has substituted and improves many parts of JavaEE.
- You can consider the Spring as an integration platform that lets you use all JavaEE technologies.
- That means you don't necessarily need the full fledge JavaEE application server to support.
- You can run it over simple servlet container like Tomcat.
Summary
So J2EE is a version name of the abstract specification for Java Enterprise Edition from 1999 to 2003.
And Spring is a a standalone integration platform (framework) with improvements and substitutions in JavaEE which also allows you to use JavaEE technologies along with it.
What is the difference between J2EE and Spring的更多相关文章
- j2ee中spring的分布式事务实现及解决方案
1 java事务类型 Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供 ...
- Spring 000 框架简介 (转载)
转载自:https://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合 ...
- J2EE学习中一些值得研究的开源项(转)
这篇文章写在我研究J2SE.J2EE近三年后.前3年我研究了J2SE的Swing.Applet.Net.RMI.Collections. IO.JNI……研究了J2EE的JDBC.Sevlet.JSP ...
- Spring安全框架 Spring Security
Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架. Spring Security 为基于J2EE企业应用软件提供了全面 ...
- 超轻量级spring模板方案
最近从事的工作是web方面的,主要j2ee,spring jsp这些内容,由于刚入门,很多的技术都不了解.所谓初生牛犊不怕虎,刚入门,各种不顺手,比如写jsp,总是重复很多的代码,各种不爽,然后就去看 ...
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-006-当构造函数有集合时的注入
一.当构造函数有集合时,只能用<CONSTRUCTOR-ARG>,不能用C-NAMESPACE 二. 1. package soundsystem.collections; import ...
- J2EE开源项目
这篇文章写在我研究J2SE.J2EE近三年后.前3年我研究了J2SE的Swing.Applet.Net.RMI.Collections.IO.JNI……研究了J2EE的JDBC.Sevlet.JSP. ...
- Spring框架简单介绍
原文地址: http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...
- spring security 一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中 配置的Bean,充分利用了Spring ...
随机推荐
- struts2 <s:select>标记取包含map的list的值
如下list map.put("ID","001"); map.put ("NM","test1"); list.add ...
- Matlab注释多行和取消多行注释的快捷键
matlab里注释符号是%,只是单行注释,可是没有多行注释符号,就像C/C++/Java中都有多行注释符号/* */. 如果利用单行注释的方式手工注释一段程序会很麻烦,matlab软件自带快捷键支持 ...
- Objective-C:NSNumber类的常见用法
NSNumber基本数据类型包装类: // // main.m // 04-NSNumber // // Created by ma c on 15/8/17. // Copyright (c ...
- crtmpserver实现防盗流和流推送验证
Protecting your streams from webpage copy&paste flash code, listing or recording 保护流,防止在页面上被复制&a ...
- Cesium随笔(3)随鼠标实时显示经纬度坐标以及高度【转】
在网页三维地球上进行可视化开发与经纬度坐标以及高度是分不开的,能够实时获取鼠标位置的经纬度对可视化效果有很好的帮助,Cesium当然能做到: (1)首先在里创建显示坐标的容器 样式自己调整的合适即可 ...
- C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
本文源程序下载:http://download.csdn.net/source/2444494 我的项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解 ...
- word 文档如何加密
给Word文档加密主要有以下几个方法:文件加密文件菜单设置:1.打开需要加密的Word文档.2.选“文件”的“另存为”,出现“另存为”对话框,在“工具”中选“常规选项”,出现“保存”选项卡.3.分别在 ...
- DockerHub基于Github自己主动化构建
Docker Hub上的自己主动化构建 关于自己主动化构建 自己主动化构建是一个特殊的功能,它同意您在 Docker Hub 上使用构建集群,依据指定的 Dockerfile 或者 GitHub . ...
- 微信小程序中用户唯一ID的获取
折腾到半夜,搞得挺兴奋,总结一下,免得忘了: 1.微信小程序直接获得的是一些简单信息,基本无用 2.用户唯一标识是openid,还有一个unionid是关联多个公众号之类情况下用,我不大关心 3.在g ...
- Javascript高级程序设计-对象
学习Javascript,最难的地方是什么? Object(对象)最难,初学者不容易掌握. Javascript是一种基于对象(object-based)的语言,它的语法中没有class(类). C# ...