Prepare Interview

Mock Exams

Make Homepage

Bookmark this page

Subscribe Email Address

Difference between EJB 3.0 and Spring

EJB 3.0 Spring
Dependency Injection: Can inject anything in the container including EJBs, data sources, JMS resources and JPA resources.Dependency Injection: Can inject almost anything including lists, maps, properties and JNDI resources.
Transaction management: Works right out of the box, but only JTA is supported.Transaction management: Have to configure it to make it work, but supports a number of strategies including JTA, JDBC and Hibernate.
Persistence: Tightly integrated through JPA.Persistence: Framework support for JPA, Hibernate, JDBC, iBatis.
State management: Robust support through Stateful Session Beans and Extended Persistence Context.State management: Indirect support dependent on web container session management.
Web Services: Seamless support for JAX-WS 2.0Web Services: Poor direct support, best integration available is via configuring XFire for registered beans.
Messaging: Supported out of the box through Message Driven Beans.Messaging: Need to add configuration for message listeners. However, JMSTemplate adds nice abstraction over JMS.
AOP: Simple but limited support through interceptors.AOP: Robust support through AspectJ and Spring AOP alliance.
Security: Integrated support for declarative and programmatic security through JAAS.Security: Must add and configure Acegi security. However, support beyond JAAS is possible through Acegi.
Scheduling: Simple scheduling possible through EJB Timer service.Scheduling: Must add and configure Quartz for scheduling.
Remoting: Integrated support through Session Bean remote interfaces. Supports distributed transactions and security.Remoting: Remoting support may be added via configuration. Remote transactions and security are not supported. However protocols other than RMI such as Hessian and Burlap are supported.
Use EJB 3 If:
- You like annotation and dislike a lot of XML configuration.
- You prefer a tightly integrated solution stack that makes sensible default choices for you and minimizes configuration.
- Your application is very stateful.
- Standardization is an important consideration.
- You use JSF and are considering using Seam.
Use Spring if:
- Your application requires fine-grained control at the container level.
- Your application requires a lot of configuration beyond gluing together components and resources.
- You need advance AOP feathers.

Related differences

Struts vs SpringSpring vs Spring BootEJB 2.0 vs EJB 3.0
EJB 3.0 vs SpringSpring 3.0 vs Spring 4.0Spring 2.5 vs Spring 3.0
NodeJS vs Spring BootSpring MVC vs Spring Boot
Is it helpful? Yes No

Get differences from below

JSF vs JSPJSP vs ServletsJSP vs ASP
JSF 1.2 vs JSF 2.0JSF 2.0 vs JSF 2.1Java 5 vs Java 6
Java 6 vs Java 6 update 10Java 6 vs Java 7Java 6 update 10 vs Java 6 update 12
Java 1.0 vs Java 1.1Java 1.1 vs Java 1.2Java 1.2 vs Java 1.3
Java 1.3 vs Java 1.4Java 1.4 vs Java 5Struts 1 vs Struts 2
Struts 1.1 vs Struts 1.2Struts 1.2 vs Struts 1.3Linux vs Unix
C vs C++Java vs C++Java vs J2EE
Java vs KotlinJava vs .NETStruts vs JSF
Struts vs SpringSpring vs Spring BootApache vs IIS
Jboss vs TomcatJboss vs WebLogicWebLogic vs Websphere
JavaScript vs JqueryJavaScript vs VBScriptJavaScript vs TypeScript
Jquery vs AngularJSHTML vs XMLHTML vs XHTML
HTML vs DHTMLHTML 5 vs HTML 4Java 7 vs Java 8
EJB 2.0 vs EJB 3.0EJB 3.0 vs SpringJDBC vs Hibernate
JDBC vs JPAJDBC 3.0 vs JDBC 4.0CSS 2 vs CSS 3
EJB 1.0 vs EJB 2.0AWT vs SwingSwing vs Applet
PHP vs JSPJ2EE vs J2MEJava 8 vs Java 9
JPA vs HibernateMVC 1 vs MVC 2Hibernate 3 vs Hibernate 4
Spring 3.0 vs Spring 4.0Java 9 vs Java 10jQuery Mobile vs Bootstrap
JavaBeans vs EJBJSON vs XMLRESTful Web Services vs SOAP Web Services
Spring 2.5 vs Spring 3.0HTTP vs HTTPSAngularJS vs NodeJS
AngularJS vs AngularNodeJS vs JavaNodeJS vs Spring Boot
NodeJS vs GolangPaaS vs IaaSSaaS vs PaaS
SaaS vs IaaSOn-Premise vs Cloud ComputingMonolithic vs Microservices
Java 10 vs Java 11Spring MVC vs Spring BootGolang vs Java
Python vs JavaAWS vs AzureAWS vs Google Cloud/GCP
Ansible vs TerraformAnsible vs PuppetPuppet vs Terraform
OpenID Connect vs OAuth 2.0SAML vs OpenID ConnectJava 11 vs Java 12
Java 12 vs Java 13Java 13 vs Java 14Java 14 vs Java 15
Java 15 vs Java 16Java 16 vs Java 17Python 2 vs Python 3
RDBMS vs HadoopAngular vs ReactJava 17 vs Java 18
GraphQL vs RESTful Web Services (REST API)RESTful Web Services (REST API) vs gRPCAndroid vs iOS
TikTok vs InstagramInstagram vs YouTubeTensorFlow vs PyTorch
OracleJDK vs OpenJDK
©2024 WithoutBook