I want breif explanation
what is the difference between Spring Framework and Ejb3.0
Please explain to me using simple english.
EJB is a standard, Spring is an independent open source project.
Being a standard, EJB may give you some advantages on tooling, compatibility, vendor independence. It's more 'standard'. But, if you need something beyond the spec, you may have to use some vendor extension, or wait for the next version of the spec to support what you want.
Spring, being an independent project, can respond faster to new technologies, and provides nice integration to many other well stabilished open source frameworks and standard APIs. It's more flexible and solution-focused. But, there is no 'vendor independence', because the only vendor is the Spring project (which is Apache-licensed and provides paid support, so it's not a big deal).
EJB folks (aka JBoss's employees :)) say that Spring's stateless view of things has no excuse, because nowadays SFSBs are much better implemented, and state is not that costly anymore.
Spring folks say that Spring's DI and AOP features are far more powerful than EJB's. And, with Spring 2.0's new 'bean scopes' you do can make use of stateful components.
The 'remoting' aspect pends to the EJB side. Well, since it was projected exclusively for remoting from day one, it's not unexpected.
Spring's 'default' remoting strrategies are quite usable, but when you have VERY advanced requirements, such as distributed transactions (not 2PC, which Spring supports, but transactions initiated from a remote client, propagated to the server), you end up having to use EJB. But, Spring also provides nice integration to EJB, if you for some reason must use it.