This Week in Spring
Welcome back to another installment of "This Week in Spring." If you're in the US, then you've just returned from a long weekend and are no doubt ready for some great content to read and reinvigorate your creativity. If you're not in the US, then you're probably already deep into a week of coding and keen on something to inspire you. Well, look no further, in any event. You've come to the right place.
SpringSource Tool Suite, version 2.7.0, has just been released!
This release includes a lot of new functionality as well as enhancements.
STS is the premiere environment for enterprise Java developers, and freely available.
This release is the first to ship on top of the newly released Eclipse Indigo (3.7), it includes Mylyn 3.6 and EGit 1.0, updated template projects, support for Grails 1.4.M1, Grails-aware rename type refactoring, Groovy-Eclipse 2.5.1 (which includes support for Groovy 1.8 and DSL IDE support (DSLDs)), and support for Gradle.
DZone has just published a reference card ("refcard") on the SpringSource Tool Suite (STS).
- Charles Lee blogs about the new Cloud Foundry plugin available for the Hyperic management and monitoring solution. Good stuff, check it out!
Be sure to visit the CloudFoundry page to get started.
The Spring Social Quick Start has been updated to reflect the latest and greatest standards, definitely a valuable resource to have! Spring Social is a framework designed to connect your applications to the various social networks, including Twitter, Facebook, and more.
Dave Syer tweets about some of the very interesting new features in Spring 3.1 supporting refreshable Groovy beans. Good stuff!
- WaveMaker 6.3.2 GA was released recently. Beginning with this release all WaveMaker source code is licensed under the Apache license, version 2.0. This is the first GA release of WaveMaker since being acquired by VMware. Releasing WaveMaker as 100% open source demonstrates VMware's commitment to open source and to the WaveMaker user community. If you're looking for more information on WaveMaker, we would humbly recommend these screencasts.
- We've got a couple of good posts this week on setting up SSL in Tomcat. One of Tomcat's most powerful features is its strong community, serving both the novices and the grizzled taking the last steps in the march towards production.
Spring Security can also help your application play well with SSL. It can automatically handle requiring SSL on access to certain pages, redirecting to it on login, etc.
- Mark Thomas (on the ever-reliable TomcatExpert.com) has a great post on some of the great features in Tomcat 7 that are now available in Tomcat 6.
- Bozho has put together an interesting discussion of using
PersistenceContextType.EXTENDED in JPA.
- Using the Play framework with Spring?
The Play framework has a Spring module which makes accessing Spring beans very easy. However, some trickery - as this post explains - is required to access those
javax.sql.DataSources to drive the model classes in the Play framework.
Alex Soto has an interesting blog on a
JdbcTemplate-style object that can be used to interface EJP (Easy Java Persistence). Mapping database records to Java objects can be painful, and it's good to see healthy, lightweight alternatives to support your Spring applications.
- Hiring Spring developers? Be sure to consult the Core Spring 3.0 Certification study guide to inform your interview questions and, if you have people you want to take the next step in their education, consider the Spring certification program.
Of course, if you have serious development skills there are openings to join the SpringSource team at VMware. It's a great place to work.
Welcome back to another installment of "This Week in Spring."
Lots of great stuff this week, as usual. When we compile this list, we trawl the internet looking for interesting stuff and try to bring it to you, digest style, in this weekly roundup. Some of the resources that we commonly check are Twitter, the SpringSource blogs,
We try to not miss anything, but we might. If you know of something that we've missed or think should be included, don't hesitate to ping your humble editors with any suggestions.
While SpringSource has a strong presence at numerous conferences and industry events, the premiere conference for Spring developers remains the SpringOne conference, held yearly in the United States. Work is well underway in planning the final program. Check out the SpringOne 2GX page to see news and activity, and to register, for the upcoming SpringOne2GX conference.
- Spring Social 1.0.0.RC1 has just been released.
This release includes additions to the Facebook API binding such as photo and video upload, Facebook page support, and Facebook search, expansion of the Twitter API binding to include mobile notifications, blocking, and geo location operations, implicit sign up support enabling automatic sign up of a user from a connection, a new quickstart showing how to get up and running quickly, and numerous bug fixes and other improvements based on user feedback.
- Spring AMQP for Java RC1
has been released. The new release adds many features, and marks the first step of the march towards GA. Developers are encouraged to try the bits out, and provide as much feedback as possible.
- The Spring BlazeDS Integration, 1.5 GA has just been released!
This release has been in the works for a while, and includes lots of cool features. If you're a user depending on the Spring Flex integration that makes it easy to interact with Spring services from Flex-based RIA clients, then you should definitely upgrade. This release has enhanced AMF serialization support, better, more natural, and more exhaustive Spring Security support, easier customization and namespace-supported configuration of framework-provided services, support for reading and writing AMF content with RESTful Spring MVC
@Controllers, upgraded minimum dependencies to Spring 3.0, BlazeDS 4.0, Spring Security 3.0, and Spring Integration 2.0 and a complete revision of the Maven-based Test Drive samples, including an update across the board to use Flex 4, and a new sample to demonstrate the RESTful programming model.
Tomcat Expert has a very interesting post on using Windows authentication in Tomcat 7. Check it out!
- Did you know that you could import other Spring
@Configuration-based configuration classes, just as you might import another XML-based configuration class? For details, check out this blog.
- SpringSource has put up a video introducing the Spring Roo Vaadin addon to help created Vaadin-based web applications quickly with Spring Roo. Be sure to subscribe to the SpringSourceDev channal for the all the latest videos.
- Phil Webb's started a series of blog posts around the idea of taking the Spring Webflow
JsfView a step further. The
JsfView already works, but it's stateless, and doesn't handle JSF postbacks correctly. The work described in this blog expands upon the existing support, outlining the problem and parts of the solution. He continuous, expanding upon the previous ideas, in this blog.
Very cool stuff!
- This French-language introduction to Spring 3.1's profiles and environments feature is both comprehensive, and a testament to the power of the soon-to-be-released Spring 3.1 framework. Check it out!
- This Spanish-language introduction to Spring Security 3.1 is an extension, and - in a way - an update - to a previous introductory tutorial that's also linked to in the article.
- The Eclipse Virgo project has been picking up interest from the OSGi community and now they have even more reasons to try it out. There is a new first tool release of Eclipse Virgo IDE 1.0.0.M01.
Welcome back to yet another This Week in Spring. SpringSource is out in full force at JAX San Jose this week and we will be at OSCON, in July. These events are great avenues for us to connect with the userbase. As usual, we've got a nice complement of stuff to cover this week, so let's get to it!
- There has been loads of interest and discussion surrounding last week's Spring 3.1 second milestone. Sam Brannen writes about the new testing support which is a great follow on to the previous posts about configuration enhancements and Spring MVC updates.
Alex (from the blog "javaaddicto") has also written about the new features in Spring 3.1, and particularly the new support in Spring 3.1 M2 for XML-free web applications in Spring MVC. This is very cool! Check it out.
Here is another more code centric look at XML-free configuration in Spring 3.1 M2, this time on dZone.
Rod Johnson sounds off on the state of the complexity in enterprise Java today. Check out this interview with Rod on the TheServerSide.com. Very cool!
- Hot on the heels of the vFabric 5 release, Chris Harris has written up a good look at how to use the new SQLFire to build a Grails CRUD application.
- Manning has just released the third edition of SpringSource's very own Craig Walls' Spring in Action. Good stuff, check it out!
Spring Data JPA (formerly, "Hades"), RC1 has just been released! It features, among other things, improved repository interface programming model (transactions at implementation, no need to extend JpaRepository anymore), improved parameter binding for created queries, performance improvement in inspecting annotations, improved detection of domain class from method return types, and much more. Check out the release announcement.
- Want to learn about the Tomcat 7 classloader? Get the skinny in this post!
Using the Vaadin web framework?
Want to see how to rapidly build a Vaadin application on CloudFoundry? Who wouldn't? Check out this doc that explains how to setup the toolchain (including SpringSource Tool Suite) and build a web application from code, all the way to the cloud.
The AMIS blog has an interesting post on how to access and leverage Spring beans from Oracle ADF Faces-based JSF applications. The blog is a bit out of date - in that it covers Spring 2.5, but could prove useful to users of that framework and technology. Note that - while this approach outlines a tooling-centric approach to adding the libraries and so on, the crux of the Spring / JSF integration is bundled with the core Spring framework as an expression resolver delegate,
org.springframework.web.jsf.el.SpringBeanFacesELResolver, which the article does introduce. Very cool, generally, and the setup in Spring 3.x is not generally different, to this is useful for users of newer (and older!) versions.
Welcome back to another installment of "This Week in Spring," and what a week it's been! This last week saw the release of the Spring 3.1 M2 and vFabric 5! Lots of exciting stuff to talk about there, as well as general community news, so let's get to it!
- Today VMware announced the release of VMware vFabric 5, the application platform that defines the future of enterprise Java for cloud and virtualized execution environments. vFabric 5 contains many of the technologies that the Spring community is already familiar with including tc Server, Hyperic, GemFire, and RabbitMQ, but now adds some new technology.
- Elastic Memory for Java (EM4J): a new capability for tc Server that provides a completely new level of coordination between the application server and the underlying virtual machine. EM4J uses the underlying vSphere virtualization to overcome some of the limitations of the Java's static memory heap.
- Spring Insight Operations: leverages the same code-level tracing technology from the Spring Insight project but pulls together information from multiple application servers into a single console with roll-up views, drill downs, and historical comparisons ready for production systems.
- SQLFire: vFabric SQLFire leverages the time-tested vFabric GemFire underpinnings providing data at memory speed and horizontal scale but vFabric SQLFire adds familiar and standard SQL and JDBC interfaces to the service.
Rod Johnson discusses all the details of the release in his latest blog. Be sure to check out the latest release and try it out.
Spring core lead Juergen Hoeller has announced that Spring 3.1.0 M2 has been released! At long last, the next step on the steady march to Spring 3.1 GA! The new release is as feature-packed as the last one, with a long list of major new features including (but definitely not limited to!) improved Java configuration support, XML-free and hassle-free Servlet 3.0-based Spring MVC application bootstrapping, new
Builder APIs for JPA and Hibernate, and much, much more! Check out the release announcement here and get the bits from your build dependency management tool of choice or the download page
- Hot on the heels of the Spring 3.1 release announcement, Chris Beams chimes in on the much-improved Java-centric configuration model in Spring 3.1, M2, even as compared to M1! The features are really starting to come together to make this one of the smoothest, well arranged releases, yet!
Spring 3.1 M2 represents a marked improvement in core Spring, as well as Spring MVC! Rossen Stoyanchev chimes in to introduce the numerous (truly, you'll need to read the detailed blog to get an idea - I won't even bother trying to enumerate them all here!) new features in Spring MVC 3.1 M2, including XML-free web applications on Servlet 3.0 containers. Check it out!
- SpringSource Tool Suite 2.7.0.M2 has been released! The new release boasts improved CloudFoundry support and many Grails features, including Grails 1.4 support, Grails-aware Rename Type refactoring, improved content-assist for GSPs, and improved Gradle support. Check it out!
- Using Spring Roo? Want to shape it's future? Now's a good time to provide input! The Spring Roo team wants you to fill out a quick survey on the direction of Spring Roo.
- Spring Data Document with MongoDB Support, 1.0.0.M3, has been released! From the announcement,
The changes and new features in Spring Data Document 1.0.0.M3 includes much improved mapping and conversion support. The
MappingMongoConverter is now the default converter used by the
MongoTemplate and the
SimpleMongoConverter has been deprecated and will be removed. The concept of a default collection name has also been removed and all operations of the
MongoTemplate are based on the collection name used for the entity class that is the target of the operation. The collection name used for an entity class defaults to the class name starting with a lower-case letter but it can be customized using the
Spring Data Graph 1.1.0.M1 with Neo4j Support has been released! As the announcement summarizes,
The Graph Neo4j module provides integration with the Neo4j graph database. Back in 2010, Rod Johnson and Emil Eifrem started brainstorming about Spring and Neo4j integration including transparent persistence and cross-store support. After an initial prototype it has been further developed in close cooperation between the VMware and Neo Technology development teams. The new release includes dependency updates, support for the Neo4J query language called Cypher, self-relationships and much more! Check it out!
- Using Spring? Want to build Swing applications, or at least, to build Swing applications with some data-driven
content and to manage those interactions with Spring? Check out JDAL, a library with utilities geared towards doing just that!
According to the website, JDAL is "is built on top of Hibernate ORM and Spring framework and provides you with a set of core database services and UI Components ready to be used via configuration on Spring context configuration files." Very interesting! Some of you will no doubt know about the Spring Rich project, which hasn't been very active of late. It's great to see the community filling in the gaps!
Securing an application using Spring Security and Active Directory is feasible, but the specifics stumped me until just recently when I did some quick Googling and found this post from the SpringSource forums. The solution's spelled out in explicit detail in the response. Convenient!
- Looking for a good matrix comparing Spring versus Java EE? One manager, a Bergisch Gladbach, shares his. Very interesting read, and one that reflects the norm for an increasingly large number of users today, I find. Check it out!
A blog, by Loiane Groner, describes how to use custom dates with JAXB. Admittedly, this blog is not very Spring specific, but it's something that you might face when using Spring's JAXB2
Marshaller with a client that doesn't support the same data serialization. One example of this? Spring Android's Simple XML
Marshaller doesn't support JAXB2 dates, by default! This is also a good blog to read for the links to the other, more Spring-specific and useful content.
If only I'd known this sooner! I can think of at least one code base that will benefit from this recipe...
Blog Java-Kata takes a look at building a multi-row, dynamic form-based web application using Spring MVC, Wicket, and GWT. This first installment introduces the code (which is useful in of itself) and then the Spring MVC iteration. Good stuff, with details for those who've wondered the same thing. Spring MVC is not a component-oriented web framework like Wicket and GWT, so it's nice to see it still fares so well on this complex task.
Welcome back to another exciting roundup! This week's been a blur. Honestly. So much new stuff happening, all after the rush of excitement that was the S2G Forums in Europe last week. Leave's a guy breathless, but excited. Read on!
Mark Fisher and Ramnivas Laddad's webinar Spring From Zero to Cloud in 60 Minutes is available online.
This webinar is a breakneck-speed tour of some of the Spring, Spring Roo and Grails support on CloudFoundry. Check it out!
Before you start watching, however, quickly signup at CloudFoundry.com to get access to the public, free-beta cloud service.
If you want to checkout the code and learn more, check out CloudFoundry.org.
- Jeremy Grelle, Spring BlazeDS lead and general "Spring web dude," has announced the first release candidate of the Spring Flex project. The Spring Flex project integrates the Flex BlazeDS middleware with Spring, providing a dead-simple way to expose Spring beans in a way that can be consumed by Flex or Adobe AIR web and desktop clients. The Spring Flex project also provides integration with Spring Security and provides tight-knit support for server-side push based messaging, entirely in-BlazeDS, or through JMS or Spring Integration. Ever wanted to notify users logged into an application that something's happened on the server side (Twitter message, new AMQP message, new XMPP message, whatever..)? Spring Flex makes it easy.
- Martin Lippert, SpringSource Tool Suite team lead, has given an interview about the latest and greatest in SpringSource Tool Suite 2.6. He talks about many of the highlights, including STS 2.6's reworked Spring Webflow visualization, Java configuration support, the cloud, agent-based reloading, and what's next. Check it out!
- Thomas Risberg has announced the Spring Data Document support for MongoDB, release 1.0.0.M3. The changes and new features in Spring Data Document 1.0.0.M3 includes much improved mapping and conversion support. The MappingMongoConverter is now the default converter used by the
MongoTemplate and the
SimpleMongoConverter has been deprecated and will be removed. The concept of a default collection name has also been removed and all operations of the MongoTemplate are based on the collection name used for the entity class that is the target of the operation. The collection name used for an entity class defaults to the classname starting with a lower-case letter but it can be customized using the
@Document annotation. See the changelog for more details.
- Milestone 5 of Virgo 3.0.0 is available for download. This is an important milestone which adds significant functional enhancements, upgrades several dependencies to their latest levels including Spring 3.0.5, Tomcat 7.0.12, and Servlet 3.0, and fixes a number of bugs. Full details are available in the release notes. The Virgo Web Server from EclipseRT is a completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications with a high degree of flexibility and reliability. It offers a simple yet comprehensive platform to develop, deploy, and service enterprise Java applications.
Marius Bogoevici - a Spring Integration committer - has written
a fantastic post on the options for using a JPA
EntityManager in JBoss AS with Spring. The main thrust of the post is that the application server automatically creates an
EntityManager, by default, so there may be no need to recreate one in Spring - you can simply inject the existing reference. This approach is specifically to get around the presumptuous behavior of a full blown application server. If you'd like to run in Tomcat, then Spring's the easiest way to configure a JPA
EntityManager. Marius also explains how to let Spring run the show entirely by disabling the application server behavior. This has the plural benefits of usually being more performant, and of keeping configuration with the application itself, not the server.
- Matt Raible has posted a follow up to his blog posts and screencasts on security in web applications. Previously, he demonstrated how to use Spring Security, Apache Shiro, and Java EE security in a pseudo identical fashion to secure a web application, highlighting the differences as appropriate.
This follow up article talks about all three technologies and provides a comparison for enabling programmatic login when integrated in a Spring MVC application. The Spring Security support has been around for a long time and works in numerous containers (not Just Java EE 6 compliant containers) with no fuss. Nice!
Have you dabbled in other JVM based languages? Have you taken a look at Scala? Well at the recent Scala Days conference in Palo Alto, CA, the Cloud Foundry team announced new Scala support on CloudFoundry.com!
- If you were at the S2G Forums in London last week, you would've received a free copy of the Open Source Journal - a printed (and freely downloadable
.PDF) magazine. This publication has done a bang up job covering some of the Spring framework technologies. It's available from the publisher's web site as a free download. Check out the first and second issues here.
The second issue, for example, has a great introduction to Spring.NET (including the new code configuration - the .NET analog to Spring Java's Java configuration), a look at Spring.NET's RestTemplate (a nice analog to Spring Java's RestTemplate), and a look at using Spring Integration (and Spring Web Services) to make short work of exposing web services. This format is especially ideal if you have a
.PDF-capable e-reader or tablet PC. Check it out!
The excitement continues today at the SpringSource S2G forums here in London! The energy leading up to the event has been staggering, and the talks - on a wide variety of deep, technical topics - are very impressive! I've had several of my questions answered, and learned a lot about some of the new, interesting, upcoming technologies from SpringSource. If you didn't get a chance to attend this year, we will be posting the session slides next week. Also don't forget, there is still SpringOne 2GX later this year (October) in Chicago!
Many people love Spring Batch as soon as they give it a try, and many of those people then start trying to tell others about it precisely because it's so wonderful to know that they won't have to solve the problem themselves. Batch processing's something we all do at some point or another: moving data from database to another, reading from a file system, making web service calls and need to handle retry logic, etc. These use cases (and many more) are natural fits for Spring Batch. If you want to see one very succinct, useful introduction to the technology with an emphasis on code, check out Sanjoy Kumar Roy's blog introducing Spring Batch. Very cool! If you give Spring Batch a try and feel like you have something to add to the discussion, write a blog and ping me to let me know so I can highlight it on this page!.
Roy Clarkson notes that starting May 28, 2011, the repositories for Spring Android and Spring Mobile have moved to GitHub, and are available at the following URLs:
Going forward, development of Spring Android and Spring Mobile will take place in the GitHub repositories, and the repositories at git.springsource.org (however, there's still an awful lot of good stuff at git.springsource.org!) will soon be removed.
- Gordon Dickens is at it again! This time, he's put together a reference of all the supported annotations in the Spring framework! This is very handy! NB: most of these are annotations that come from the numerous JSR's supported by the Spring framework, and some - like the Roo annotations - are compile-time retention only. Still, a very handy reference and a great way to survey some of the numerous places where Spring can help you get work done, quickly.
- Gordon also did this pencast that illustrates (well, "writes!" ) the steps in configuring Spring MVC on Tomcat. Very cool and - most conveniently - very, very simple! A few seconds and you'll have a birds eye view of everything. A few minutes later and you can have the steps replicated with no problems. Cool!
- Thinking about moving to Spring, from Java EE? This is natural. Many people come to Spring from other technologies that -- while perhaps useful when initially employed, have since become limiting. I stumbled upon across this post the other day and thought it presented a very good introduction to the decision making process for one architect in choosing Spring.
- Quick reminder: CloudFoundry.com sign ups are through the roof, so we've sent out invites to those who signed up in staggered quantities, as fast as we can. We just sent out a slew more in the last three days! We see a lot of interest in CloudFoundry and the first thing people want to know is: how do I get started?. If you want to get started, then sign up!
- The Spring
MessageListenerContainer abstraction enables developers to consume JMS messages with the typical, declarative ease you've come to expect from the Spring framework. It handles concurrency, and transactions, and lets you simply focus on the part of the business logic that's important to you: what do I do once I've received a message? Sabarish Sasidharan provides an informative blog post about how to scale the MLC abstractions in the Spring framework.
New to development with Tomcat? Want a blow-by-blow narrative on how to get it up and running on Windows? This blog's exhaustive, and has plenty of reassuring pictures. I wish I'd had something like this when I was getting started! I probably would've started earlier :-)
What a week! Excitement is in the air as we near the S2G Forums here in Amsterdam on the 26th and then next week in London on the 31st of May. If you're in Europe, be sure not to miss these exciting, jam-packed days with talks on all manner of topics including Spring, Grails, the cloud, big data and of course tooling.
- Mark Fisher and Ramnivas Laddad presented their hit webinar - "From Zero to Cloud in 60 Minutes" - on Cloud Foundry last week.
Thank you all for attending and making it a success! If you missed it, you can still get the slides and watch the replay here. Note that there are, as usual, lots of other resources there once you're done with the CloudFoundry webinar. Check out the other developer webinars (scroll down, click on the "Developers" tab), and check out the SpringSource Dev YouTube page.
- Juergen Hoeller, the Spring project lead, presented on the next generation of Spring -- Spring 3.1 and beyond, at QCon London earlier this year. His talk and slides are available on InfoQ.com
- The video for the Getting Started with Spring Data Graph webinar is available, as well. This webinar introduces the Spring Data Graph project - a joint effort between the Spring and Neo4j engineering teams to bring first-class support for Neo4J to your Spring applications. If you want a more natural way to integrate the NOSQL data technologies in your existing architecture, simply want more speed, or want to see what you're missing, then you should definitely check this webinar out.
- In a fantastic example of eating ones own dogfood, Mark Thomas - Tomcat committer and Apache Bug tracking infrastructure maintainer - explains how the Apache JIRA interface was being whelmed - not overwhelmed, but still running inefficiently - by search engines that hit specific JIRAs, but didn't maintain a session cookie, triggering the creation of numerous sessions. Mark describes the creation of a custom
Valve for Tomcat 7 (and SpringSource's tcServer) that associates a single Tomcat session with each web crawler, greatly reducing their footprint.
- Spring Web Services 2.0.2 has been released. For more information, see the change log. Spring Web Services 18.104.22.168 has also been released. For the changes in this release, please see the changelog. Both releases include some worthy updates in of themselves, but, importantly, both also resolve a potential security issue. It is recommended that users upgrade as soon as possible.
- Google I/O, Google's developer conference, is an exciting time for enterprise Java developers, and of course, this also means Spring developers. One notable announcement was the 1.0 release of the Spring Roo plugin for Vaadin, which is a widget-centric approach to web application development. Vaadin's a very innovative way to build web applications today, and - of course - it works well with Spring. (NB: those instructions are old, but they should still work, and you can just use the Roo plugin, either way!)
Leveraging the Spring
HandlerMethodArgumentResolver interface is a fantastic blog for those looking towards the imminent Spring MVC 3.1, which will include a general refactoring of the internals of the MVC resolution mechanism. Your existing code will continue to work with no problems, of course, and you don't need to understand the machinery to leverage Spring MVC. But, if you do want to extend the resolution mechanism, then it's simpler now. This blog illustrates the point rather nicely by extending the processing pipeline in Spring 3.1.
Well, it's been quite a week for SpringSource! While SpringSource has always been an international organization, this last week has SpringSource's presence stretched even further, from San Jose to Krakow, Poland and to even further parts beyond! There's a lot of content! So, let's get started!
- Mark Fisher and Ramnivas Laddad are doing a webinar ("From Zero to Cloud in 60 Minutes") on Cloud Foundry for both Europe and North America on May 19th. DO NOT miss this!
- The inimitable Juergen Hoeller gave an interview at QCon London recently. The full video and conversation transcript of the interview about Spring 3.1 and the new features in Spring 3.2, and more, are available on InfoQ website.
- SpringSource Tool Suite 2.7.0.M1 has been released! The new version brings lots of goodies to Groovy and/or Grails developers of all manner, including Groovy 1.8 support, conditional breakpoints for Groovy, search inside GSPs, and early access Gradle support.
Spring Roo 1.1.4 has been released!
The new release features over 90 improvements and bug fixes since the 1.1.3 release. The next release of Roo will be 1.2.0.M1 where new features will be introduced.
- Using Spring Surf? Want to use Clojure? We've got just the addon for you! Check this post out for more. I love these kinds of nuggets.
I happen to like Clojure, and Spring Surf. So, this is really cool.
- Matt Raible's wrote last week about Java EE security options for web applications, in terms of a few simple requirements. This week, he's written about Spring Security in terms of those same requirements. See how Spring Security fares.
- Looking for a great discussion of constructor injection? Look no further than this blog post for a reflective look at constructor injection, and the motivating design considerations.
- The Spring Framework - as many will know - provides "dependency injection," "Aspect Oriented Programming," and "Portable Service Abstractions." Essentially: Spring makes it easy to add functionality to plain ol' Java Objects using non-invasive techniques like bean factories, dependency injection, and aspect-oriented programming. AspectJ provides the basis of the AOP functionality supported in the Spring framework since 2.0. This blog post provides a great introduction to the AspectJ technology and its use in the Spring framework.
Gordon Dickens is at it again! This blog post shines a bright light on one of the Spring 3.0 release's best features, the Spring Expression Language (SpEL). Check it out!
This blog post clarifies the behavior of Spring 3.1's caching behavior and provides guidance - in absence of the upcoming Spring 3.1 M2 release - to evict data using the
- These blog posts on Spring Integration have
provided great fun for me, recnetly. The link is to the last one, but I recommend you work backwards. It's interesting to watch the natural progression from here, to the end. Nice blog post that starts with an examination of a simple problem and the disects the problem, introducing Spring Integration's capabilities in a progressive way.
- Tomcat 7.0.14 has been released. This seemingly trivial point release packs a lot of punch! My favorite new feature: the
StuckThreadDetectionValve, which can be used to audit requests and report long running, potentially dead threads. Check out the full list of new features and bugs addressed!
One common question that people have when they start building SOFEAs (service-oriented front end applications) using Spring is: "How do I protect my services from inappropriate access?" We have all heard about Spring's (e.g., through Spring Social) excellent support for consuming OAuth as exposed in other services like Twitter, but understanding how to provide a service and guard it using OAuth is an entirely different beast. This post is illustrative, and explains it in terms of Spring Security. Very cool, and ever increasingly useful in today's world. After all, application users want to take their data home with them!
Chris Keene sounds off on the SpringSource WaveMaker acquisition. Interesting stuff! (Re-)read Rod's original post, here, and then read Chris' here.
- SpringFuse is a code generation tool to build Spring applications. I think Spring Roo solves this problem quite nicely by fully supporting round-tripping of generated code and supporting an extensible model, but as ever there are many ways to skin a cat, and SpringFuse is but one of them. This new release features integration of JodaTime, ajax auto complete, jQuery integration, among other things.
May's well underway and all the preparations for the S2G Forums in Amsterdam and London are complete. These S2G Forums are the premiere place for people in Europe to get access to the best information related to the Spring community (at a minimum cost!). I hope we'll see you in Amsterdam (May 26, 2011 - € 114 ) and / or London (May 31, 2011 - £ 99)!
In the interim, those of you that want an even better picture of how the Spring framework plays on the nascent CloudFoundry open-source cloud PaaS project should be sure to attend a webinar - Spring from Zero to Cloud in 60 minutes for both North America and Europe in just 10 short days!
SpringSource Tool Suite 2.6.1 Released. This release features the usual updates and features. Some particularly notable features: an updated bundled version of vFabric tc Server, version 2.5, improved support for tc Server instance creation and an update to the latest release of Spring Roo, version 1.1.3 and (yay!) bundled support for CloudFoundry. Check out the New and Noteworthy PDF document for the details.
- The CloudFoundry blog has run two different parts with a detailed look at what happens when you
push applications to the CloudFoundry project. The first post details what happens from the client-side perspective. The second post provides details on what happens from the cloud-side perspective, once the application's been
push-ed. Check it out! All of this information, of course, can be gleamed by looking at the source, but it's nice to have it laid out clearly. Makes reading the source easier, too!
Spring Android 1.0.0.M3 Released: Spring Android supports usage of the Spring Framework in a Android environment. The 1.0.0.M3 release focuses on extending the use of Spring Social in native Android applications including support for Spring Social 1.0.0.M3 and updated RestTemplate (client) support for Spring 3.1.0.M1. Be sure to check out Roy Clarkson's blog posts on getting started: Part 1 and Part 2.
Want to learn even more about Spring Android? The project helps make it dead-simple to consume RESTful services from an Android client. Here's a cool talk about consuming RESTful web services using Spring Android's
RestTemplate from the Android-Peru.com portal (the talk's in Spanish, although the code examples are universal!).
TomcatExpert.com keeps publishing more and more great content for those enterprise developers and admins interested in getting the most out of Tomcat. The latest post talks about Cross-Site Request Forgery and how new features in Tomcat 7 can protect against it.
Tobias Mattsson has just posted a blog on how to use
Spring Social to show recent Tweets in Magnolia CMS. He also talks about a technology called Blossom, which lets you embed Spring MVC controllers in a Magnolia page. Lots of cool stuff in this post!
MyNoSQL, a community blog about NoSQL technologies, has just put up a introspective look at the adoption of MongoDB in Java and also discusses other challenges in big data. My Conclusion: Grails, Spring, Spring Data and CloudFoundry are leading the way!
A blog, aptly named "Roo Findings", has just written a summary post about his year long odyssey learning, using and loving Spring Roo. Lots of neat content in there, check it out!
- This post - by Oxen Software Studio - illustrates two different approaches (one in Guice, one in Spring) to solving the following scenario: I've got a scoped bean, and I need to access it from a singleton. The steps to get to the final answer are as revealing as the final answer itself, since I suspect a lot of people don't know that you can do this, let alone how easy Spring makes it.
It's May, already! Seems like just yesterday we were toasting the arrival of the new year...
As they say, time flies when you're having fun! This year's been a roller coaster - exciting news and events every day - too much to keep up with, certainly!
- Jon Brisbin has written up an epic post introducing the CloudFoundry project and many of the technologies that you can use on it.
This was just put up today, and is now one of my favorite blogs introducing CloudFoundry; it's so ambitious, just like CloudFoundry itself!
- Another masterpiece of a sample is the blog that Costin Leau wrote, Getting Started with Redis and Spring Cloud Foundry. This post is well worth reading whether you're doing CloudFoundry, Spring Data, or both. A dynamic duo, indeed!
- European community members can learn more about Spring, Spring Data and Cloud Foundry at the S2G Forum Series: Amsterdam (May 26th) and London (May 31st). There will be tons of great sessions about Spring, Groovy and Grails as well as talks focused specifically on CloudFoundry, Tomcat and Gemfire so be sure to register for the event closest to you.
- Spring Security 3.1.0.RC2 Released -- the title sums it up. Check out the link for the changelog. For more on Spring Security, keep reading - there are a couple of very interesting posts about Spring Security a little further down!
- Spring Social 1.0.0.M3 Released. The new release continues the exciting evolution of the core concepts laid out in the earlier releases. Specifically, this new release enhances the APIs for some of the social APIs, extends the plugin mechanism, and provides a pre-packaged Spring MVC
Controller that adds provider sign in capability to your application.
- On the CloudFoundry blog, Killian Murphy updates the community on the latest and greatest on in the CloudFoundry project. The activity's been amazing, and the fact that - in the three weeks since CloudFoundry's debut - people have submitted GitHub.com pull requests for JRuby, PHP and Erlang support in the CloudFoundry open-source PaaS is a testament to this. Amazing!
Recently, SpringSource put up a survey about dm Server and Virgo usage. The results of that survey are available here.
- In this post - Single Spring Application Deployment for both Local and CloudFoundry.com Servers - David Salter introduces Spring 3.1's profiles, and how to use them to deploy a single both locally and in the cloud. Check it out for a good step-by-step!
- Tobias Trelle introduces RabbitMQ and Spring, walking the developer through installation and setup.
- Rafal Borowiec introduces Spring Security 3.1's enhanced security namespace configuration.
- Steffen Luypaert writes an interesting post on migrating from Spring Security 2 to Spring Security 3. It highlights the few specific steps - including a few "gotchas" that might strike very specific cases - required to ensure a smooth upgrade. Very cool!
- A perspective on the CloudFoundry PaaS. The thrust of it - that CloudFoundry reduces friction and enables developers - should resonate well with the numerous developers who've had a chance to work with it already. Check it out, and of course then follow up with a visit to CloudFoundry.com and CloudFoundry.org to try it out for yourself and learn more!
- People ask me frequently about the best way to learn Spring and how to get training to improve their Spring skills. Without exception, I refer them to the SpringSource training that is created by the project leads and engineers behind the Spring technologies. The trainers are also some of the most knowledgeable people at SpringSource - they have the macro, birds-eye view and the micro view of the entire technology stack from concepts to API to implementation. So, I'm pleased to remind you that SpringSource has just announced new certifications for trainings and the training schedule. See this overview of certification and this schedule post for more information.
If you're like me, and you've been using and advocating Spring and the Spring projects since the very beginning, then please understand that there's very likely still something for you in this training. I was stunned by how much I learned!