Spring 4.0 Looking to JEE 7 and Java 8. Will They Keep Their Edge?
Today we learned that Spring is making a major step in the next iteration of their core framework. This is what was recently posted on the SpringSource blog as the roadmap for Spring 4.0:
For Spring Framework 4.0, our focus is on emerging enterprise themes in 2013 and beyond:
- First-class support for Java SE 8 based Spring applications:
language features such as lambda expressions; APIs such as JSR-310 Date and Time - Configuring and implementing Spring-style applications using Groovy 2:
Groovy-based bean definitions; Groovy as the language of choice for an entire app - Support for key Java EE 7 technologies:
including JMS 2.0, JPA 2.1, Bean Validation 1.1, Servlet 3.1, and JCache - Enabling WebSocket-style application architectures:
support for JSR-356 compliant runtimes and related technologies - Fine-grained eventing and messaging within the application:
building on our existing application event and message listener mechanisms - Pruning and dependency upgrades:
removing deprecated features; raising minimum dependencies to Java 6+ etc
-- Juergen Hoeller
SpringSource expects to reach the first milestone for 4.0 in April, with the GA scheduled for the end of the year. If you've got some burning questions for the SpringSource devs, you should probably attend the tail end of one of these webinars, where they'll discuss 4.0:
- North America: Thursday, January 17, 10:00 Pacific Standard (San Francisco, GMT-8:00)
- Europe: Thursday, January 17, 3:00pm Western Europe (London, GMT)
Does it seem like Spring is very determined to keep its edge with the departure of Rod Johnson last year? Are they on pace to be the preferred framework for enterprise Java?
Recent articles on the Java EE vs. Spring debate:
Your Chance to Shape Java EE 7
Spring vs Java EE: What People Forget About Spring






Comments
Reza Rahman replied on Thu, 2013/01/17 - 3:18pm
I don't think there is anything wrong with Spring adopting Java EE or Java SE technologies (or have that be the major theme of a given release). Despite the silly, unproductive flame wars, there has always been two way adoption of ideas between Spring and Java EE. In fact SpringSource was a contributor to various Java EE 7 JSRs, most notably Java Batch.
At the end of the day, greater competetion/coexistance is good for the Java community, as long as things are on a fair, healthy basis.
We certainly wish Spring and SpringSource all the best now and in the future...
All views voiced are my own, not necessarily Oracle's.
Rueben Geronimo replied on Thu, 2013/01/17 - 3:27pm
is it possible to watch the recent webinar? I missed the webinar this morning
Mitch Pronschinske replied on Thu, 2013/01/17 - 5:52pm
in response to:
Rueben Geronimo
I think SpringSource publishes their webinars on their youtube channel a few days after. I would keep an eye out for the video.
Otengi Miloskov replied on Thu, 2013/01/17 - 8:56pm
SpringSource/Spring is going in the right track as always. Rod even now is not with the Spring team he still uses Spring and still supporting it, well he created it so even Rod is doing another things he will be always be with Spring.
Java EE 7 is awesome spec and both Spring and Java EE are in the right track. The only thing I cant stand of the Java EE spec is JSF. I would love that they add something more lightweight and stateless as Spring MVC for the presentation. I dont like any more much the component based frameworks, I had lots of problems with those. I like more stateless mvc web frameworks. Thats why I use more Spring because in one package I have the best of the best, Spring Data with JPA is awesome, Spring Core DI , Spring MVC, SpringSecurity is very easy to use and proved.
Without Spring I would not do Java/Enterprise/Web development.
Reza Rahman replied on Thu, 2013/01/17 - 10:28pm
in response to:
Otengi Miloskov
Thanks for the kind words on Java EE 7.
You can of course use frameworks like Struts 2 with CDI on the Java EE stack (as well as Wicket, etc). There is some consideration of adding an action-oriented web framework to Java EE that would be more JavaScript/HTML 5 friendly. It was named JAX-RS MVC and was initially proposed for Java EE 7 but later widthdrawn largely due to time contraints. If there is a compelling need, it could be re-introduced for Java EE 8. In the meanwhile, JSF seems to be doing quite well on it's own right. If there are specific feedback items on JSF, helpful comments are most welcome on the JSF 2.2 spec. I have used JSF extensively myself and certainly prefer it over alternatives (and I have used both Struts and Spring MVC).
We don't actually see much value in Spring Data/JPA (seems like a redundant abstraction over an already pretty streamlined API). However, if others really see value it is easy to create a similar CDI based solution under DeltaSpike. The Java EE answer to DI is of course CDI. As to security, developers have a choice to use their application server's security framework over Java Security/JAAS/JASPIC (such as Resin Security) or a portable CDI based solution like Seam Security.
Hope that helps.
All views voiced are my own, not necessarily Oracle's.
Otengi Miloskov replied on Fri, 2013/01/18 - 9:32am
in response to:
Reza Rahman
Struts 2 is kinda ugly, I prefer too JSF 2 than Struts 2. I could use Spring MVC with CDI but I feel is more natural to couple it with Spring Core and other modules.
Reza, I would love to see JAX-RS MVC. I like MVC(Action Frameworks) because as you said are more JavaScript/HTML 5 friendly. JSF 2 is not bad and use it with stateless bean but I had some problems integrate it with Javascript.
Also the style of the controller I like a lot as the ASP.Net MVC or Rails so My style of controller usually is with Spring MVC as next:
@Controller class HelloController { @RequestMapping(method = RequestMethod.GET) public String index(Model model) { model.addAttribute("hello", "Hello World!"); return "/hello/index"; } }Reza Rahman replied on Fri, 2013/01/18 - 10:23am
Not sure if you already know this or not, but PrimeFaces makes it a lot easier to work with JQuery, backbone.js and JSF (that's what I did for my most recent JSF project). The new pass-through components in JSF 2.2 should make things easier too. It is however a very fair point that action oriented framework are more JavaScript/HTML5 friendly for the simple fact that they do not manipulate the HTTP request/response cycle as much (and thus offer less of an abstraction but more verbosity/low-level code).
All views voiced are my own, not necessarily Oracle's.
Adrian Meredith replied on Tue, 2013/01/22 - 5:31am
We started off using jsf2, I really like the programming style, its very easy to understand (love composite components). Unfortunately its the quality of the referrence implementation has really let it down (so many bugs) and also the fact that it requires loads of bandwidth (almost 2.5 MB for fetching 250 results). We now use the awesome jaxrs with ember (and some jsf but thatss slowly being removed).
Glad Spring are coming back into the fold more yet still innovating, it helps everyone. Really looking forward to jee7
Reza Rahman replied on Tue, 2013/01/22 - 12:24pm
in response to:
Adrian Meredith
For concerns with bugs and performance, it is very useful to enter JIRA issues on the Mojarra project. Ed and his team are usually on top of Mojarra code quality.
Personally, I have developed fairly significant applications with both Mojarra and MyFaces and can't say there were any siginifacant issues with bugs or performance, so it would be good to know what the particulars in your case where (I'm sure Ed would want to know as well).
All views voiced are my own, not necessarily Oracle's.
Ant Kutschera replied on Wed, 2013/01/23 - 6:14am
You can make JSF stateless by adding this to web.xml: <br/>
<context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param>And then just use @RequestScoped beans and no session beans. Security still relies on a session, so if the server goes down you might have to log in again, but I can live with that. I seem to have to periodically log into my Google account too, after all. Application state can be stored in a cache server or database, as it is in all the other stateless frameworks.<br/><br/>Or have I missed something?Valery Shishkin replied on Wed, 2013/01/23 - 7:49am
I wonder why no one discusses Groovy. Especially Groovy 2.1 where even DSL may be typechecked (recap Play 2 flame).
Dapeng Liu replied on Thu, 2013/01/24 - 11:50am
don't get it why ppl are still generating "html" on server ... js+rest get the job done well in most of the cases
Momo Singh replied on Tue, 2013/06/04 - 7:34am
Please add reliable good information that would help others in such way.This post is exactly what I am interested. we need some more good information. Web Design New York