Tonight I watched a video of Rod Johnson doing a presentation on Spring 2.5 at Google. He said that Spring 3.0 will be an EJB 3.1 Lite compatible container so that the Spring Application Platform can get the Java EE 6 Web Profile certification if the expert group chooses to include it in Web Profile. Spring will also be a full featured EJB 3.1 implementation for use in the WebLogic application server. The Java EE 6 expert group has polled the community and it seems that most developers want the larger Web Profile which includes EE 6 technologies intended for the web. I wonder if the expert group has decided which Web Profile proposal to use, and whether or not JSF + Web Beans will be included? In Rod's video he mentioned that the design of Spring 2.5's dependency injection annotations are based on lessons learned from EJB 3.0's @Resource and Google's Guice. I am interested in knowing his thoughts on Web Beans annotations which is also third generation, and if Spring will become an implementation of it.
Anyway, I think this news is a BIG DEAL for EJB, as much as JPA was. If Java EE 6 Web Profile includes EJB 3.1 Lite and Spring is an EJB 3.1 container without requiring addons, then developers might choose to use the JSR standard annotations and XML over implementation specific ones for all of their work. This will be even more desirable if Java EE 6 Web Profile includes Web Beans and Spring has built-in support for that too. In the video Rod encouraged developers to use EJB's @PostConstruct and @PreDestroy annotations because they are standardized and Spring has built-in support for them. This could be the end of Spring vs EJB wars.
Look at what JPA (from EJB 3.0 expert group) did to the industry. Today many developers prefer to code using JPA standardized annotations and XML configuration by default, and only use implementation specific features where JPA is lacking until the next revision of the standard comes out.
To learn about the many new features in EJB 3.1, read Reza Rahman's series: Part 1, Part 2, Part 3, Part 4.
UPDATE (Sep 20 2008): SpringSource recently announced its new commercial support policy and how it relates to the open source community. There is a lot of harsh criticism and already people talking about moving to JCP standards:
It is sad but well I have to stop believing and dreaming and go back to the real thing the standards, anyway are not bad they are based on Spring idea, thanks god.
I will not pay a dime just for the DI container, If I need all the stack and portfolio of SpringSource ok I will think about it but just for the DI Container I will have to pay?, nope, better I wait for EJB3.1 the "STANDARD" or I could use Guice or even Tapestry 5 DI container.
As someone said Spring DI container is not rocket science perhaps we could use already Guice or soon EJB3.1.
Welcome EJB3.1 and the standard, I think I have to take a serious look at Seam or another alternative maybe Guice?.
Moreover - before spring beat everything because of price/value ratio. Now, it's not so obvious - maybe WebSphere or Bea will win in the next run. I should rethink my EJB 3.0 standpoint.
Fu** SpringSource!!, That is all I will say. We the community helped and contributed to grow Spring Framework and with this is like a stab on the back.Welcome EJB3.1 and the standard, I think I have to take a serious look at Seam or another alternative maybe Guice?. Spring Source just ruined it self. Mr.Rod I hoped more from you, Really, I hoped you ware our savior but it resulted with the same sh** as everything in the Open Source.
The unfounded, marketing-driven ("the de facto standard in enterprise Java") Spring hype is definitely over. Great!
I was ambivalent for a long time, even though its strengths were clear, because I thought (and continue to think) their stance towards Java EE is political rather than real, and I wasn't sure that configuration in XML (the Spring way, back in 1.0, 2.0) was really that much better than configuration in XML (the J2EE way.) ... now I feel like I was right for listening to my gut feelings.
Working from his home office in Toronto,
Ryan de Laplante can be found developing software in
Java by day, and obsessing with technology by night.
Ryan has been designing and writing software for
IJW since 1998 and is very passionate about his work.





