No. The spring project is much more comprehensive then just a DI framework at this point. With the way that the specification trails years behind everything else by the time its realized it will just be missing something else imo.
Bill Gorder wrote:No. The spring project is much more comprehensive then just a DI framework at this point. With the way that the specification trails years behind everything else by the time its realized it will just be missing something else imo.
I agree with Bill. One thing you can't easily do in Java EE is run it from the command line. How many times I've seen people write data massaging utilities in Spring because JdbcTemplate is soo good (and much > 5 years old I may add) is one example. You also don't need to worry about profiles. And JavaConfig (though I'm still not a fan) will get rid of XML hell going forward.
If anything, I'm sure the Spring team will make sure Spring interoperates with Java EE's injection container, maybe even emulating or deferring part of itself to it, while still giving us factories for things that are tedious and slimming down ones that no longer are needed. To wit, we don't need to extend an abstract DAO class with Hibernate or JPA since they now give us the current session themselves, so Spring deprecated that.
I expect Spring to keep providing those big abstractions (integration, batch, Spring Data) for every area that isn't covered by a spec, and to interoperate with the ones that it doesn't need to provide anymore. And when they stop doing those things, then it will die. Which I assume will be a long time from now.
More 2 cents. And a bit a reply to a particular friend former co-worker of mine who is a genuis and a great developer. However, isn't familiar with what Spring is today as compared to many years ago, so therefore just thinks of Spring as a Dependency Injection container and thats all.
Spring is so much more. For example There is nothing in JEE to compare to Spring Data. Definitely not for NoSQL databases. While there was talk I heard before of making JPA cover NoSQL, but that is kind of defeating the purpose in my opinion.
I just feel like JEE can only follow and not lead.
IMHO, I can't see it. Spring has always been the one to either integrate or innovate. JEE is trying to catch up. It's good that they finally got on board with DI, but DI alone is not Spring. I have used Spring since version 1.2.x and cannot see JEE being able to do everything Spring 3.x does let alone surpass it. At this point Spring is the champ and in order to beat the champ you gotta knock him out. I don't see JEE dealing a knock out blow to Spring. Not to mention you've got plenty of businesses who depend heavily on Spring. No one's going to rip out lines of working Spring code for JEE/DI.
Last year, Oracle basically said at The Server Side Java Symposium that they plan to copy ideas from Spring going forward. Which means they don't plan to innovate. Rather let Spring do the innovation and copy. Sounds like a great future for Spring to me!