This Week in Spring
Welcome back to another installment of This Week in Spring!
Can you believe we're already further along through December than not? Time sure flies, and yes, we are staring down the end of the year already - but the holiday season usually brings a SpringFramework release right around this time of year, so we're feeling festive! We've even gots tons of extra SpringSource buttons to celebrate.
- First and foremost, Spring 3.2 has gone GA!
Just read the post. Waay too much awesome in one release, and - if you've been following this series over the year than you know I've been looking forward to it. Come back and read the rest when you've upgraded your application and played with some of the awesome new stuff! I'll wait...
You know what the best part is? Usually, after a new Spring release, the release train of other Spring projects is quick to adopt - so expect lots of releases in the new year!
- Next up, Spring Security lead and ninja Rob Winch just announced Spring Security 3.2.0.M1, packed with new features for Servlet 3 environments, among other things.
- We could just stop right there, you know? BUT, there's more! In this blog post, Rob Winch
has answered some of the very common questions we tend to get regarding how Spring Security
integrates in a Servlet 3 environment, and the results are amazing!
Definitely worth a read. This stuff, following the new Spring MVC 3.2 servlet 3 support, is sure to make Servlet 3 environments like Apache Tomcat 7 an attractive offering for anyone doing serious enterprise work: no pain upgrades, lightweight and you get all these cool new runtime capabilities with Spring 3.2 and Spring Security.
- Not to be outdone, Alan Stewart announced Spring Roo 1.2.3, which includes support for Spring 3.2 and a slew of fixes and updates in this, the third maintenance release of 1.2.
- Are you using Spring with Google App Engine? Lots of people are! Spring's the only way to do serious enterprise Java development on Google App Engine, after all, without giving up a lot of functionality. Nonetheless, Google App Engine has some unique constraints that offer Spring developers some... challenges. This blog post shows how to
address some of these issues on Google App Engine. On every other cloud, including Cloud Foundry, these "optimizations" are not required or even reasonable, so feel free to ignore them if you're not on Google App Engine.
Guys, HTML 5 was just completed.
From the release: "Though not yet W3C standards, these specifications are now feature complete, meaning businesses and developers have a stable target for implementation and planning."
What's this mean for you guys in practice? Not much - HTML5 as we know it has been fairly stable for some time, but if you were looking for a reason to take the plunge, that should be it. And, SpringSource is ushering in the new era of
aimed at civilizing this new frontier and increasing productivity.
For a peak at some of the new bits, check out the upcoming webinars
Architecture of a Modern Web App.
- The steady stream of amazing content from SpringOne2GX DC continues, this time with
videos introducing WebSockets and how to Secure REST with OAuth 2. Be sure to grab a cup of coffee, sit down and enjoy these two 90 minute videos. Web Sockets is becoming an increasingly important part of the web landscape for messaging, and OAuth is already one of the most entrenched
protocols on the web, providing the foundation for modern day, secured web services with REST, so both of these videos are not-to-be-missed.
- There is a lot of great Spring Social news this week! First, Craig Walls announced Spring Social Yammer 1.0.0 on behalf of Morten Andersen-Gott. Nicely done Morten! Yammer is a popular enterprise-y microblogging service, among many other wonderful things, and this integration will sure to be very useful for lots of enterprises. I've used Yammer before and it worked really well.
- Next, Mark Serrano blog wrote a very nice tutorial-style article on using Spring Social, Thymeleaf and Java configuration (already on Spring 3.2!).
- Gabriel Axel has released Spring Social Google M2, including Google Drive support. For more, see his announcement tweet.
Welcome to another installment of This Week in Spring! We finished SpringOne China over the weekend and are today
at the first of two events for SpringOne India in Bangalore and SpringOne in Hyderabad.
The shows have been really amazing! In particular, we've enjoyed the food, the sites and the amazing community that have turned up in droves!
|An attendee took a shot of me as I was giving a talk on Spring on Cloud Foundry
|| Dr. Mark Pollack, myself, Gary Russell and Chris Richardson
at a restaurant in Beijing
| I gave a talk in Bangalore and people deluged the stage with questions and greetings. I asked the last wave of people to take a photo with me.
||LtoR: Gary Russel, Josh Long, Jennifer Hickey, Jeremy Grelle, Oliver Gierke, Chris Richardson -- the whole SpringOne India lineup
- Roy Clarkson has announced Spring for Android 1.0, which adds support for Jackson 2.x in
RestTemplate through the new
MappingJackson2HttpMessageConverter. It also addresses several bugs and compatibility issues with
RestTemplate and Android Jelly Bean.
- The TomcatExpert.com portal has a nice post on Spring Insight Developer to analyze code, install it with Tomcat, and extend it with plugins.
- Spring Scala lead Arjen Poutsma has a nice post introducing Spring Scala.
- The folks over at Trifork have a great blog on properly testing Spring MVC controllers
- I'm going to be honest here -- I don't know, exactly, what this post is about, as it's written in Korean and the Google translation's not particularly helpful. It seems like the author's discovered a caveat related to Spring MVC's
@SessionAttribute and provided a work around. Hopefully, it's useful to you if you read Korean!
- Are you using RabbitMQ from a .NET environment? Check out this post on EasyNewQ which is a .NET client for RabbitMQ.
- The GoSmarter blog has an interesting post on how to setup a fake FTP server to unit test Spring Integration FTP flows. The blog also has a nice post on mocking SFTP support in Spring Integration.
- The GoSmarter blog also has a nice post on using Spring Security and container-managed security
- Also from the GoSmarter blog, a nice post on doing test-driven development with Spring Webflow.
- The MonoCaffe blog has a nice post on using a Spring MVC JSP tag to allow pre-pending and appending of icons to Bootstrap's input fields.
- The Zen Java blog has a nice post on using creating a RESTful Spring MVC service that is consumed from Java FX. This is really slick.
- The Cafe Techno blog has a nice post that compares Spring MVC and Struts. Spring MVC fares very well, I'd say!
- The a Quick Guide to Java blog has a good post on Spring MVC internationalization.
Wow guys! December 4th already!
Time sure flies when you're having fun!
Welcome back to another installment of This Week in Spring. This week, I'm in Beijing for SpringOne China and, next week, I'm off to India for SpringOne India. If you're in Beijing, Bangalore or Hyderabad, I'd love to see you at these events!
Alright, let's get on with this week's roundup!
- Mark Fisher
gets the ball rolling this week with a very nice present: Spring Integration 2.2.0.GA has been released! The new release is well described in the
blogs on the various new features referenced in the release announcement, so be sure to check it out!
- Martin Lippert's announced that the Spring Tool Suite and Groovy Tool Suite 3.2.0.M1 have been released!
- Tobias Trelle is back at it again, this time with a blog on
how to use Spring Batch with MongoDB, including working code at his GitHub repository
Be sure not to miss this webinar on Spring framework 3.2!
- The Java Dev Tips blog has an interesting post on
working with custom annotations in the Spring framework.
- The All and Sundry blog has a nice post on how to use Spring's Test MVC framework in Spring 3.2.
- The Kruders blog has an interesting post on how to configure multiple handler mappings with Spring MVC based on a priority
- The WikAdz blog has an interesting video on
Spring's autowiring capabilities.
Check out this post on the Java Kart blog if you want a concise walk through introducing Spring MVC with an example?
- The Online Technology Vision bog has an interesting post
on building Spring Batch jobs that are
- The Article Stack blog has a nice post on
integrating Spring with Apache Tiles.
Apache Tiles is a nice way to manage complex layouts in web applications
and can be used wit other view technologies besides
Thymeleaf. It's also worth noting that Tiles gives you a nice, central place to
make decisions about what content is rendered based on the type of request.
This is useful, for example, when using Spring Mobile to
render mobile form-factor appropriate content or
more desktop-browser centric content.
- Dinuka Arseculeratne over at the Java Code Geeks blog
has an interesting article on integration testing
data access logic with Spring and Hibernate. Very cool!
Welcome back to another installment of This Week in Spring! If you're in the states, then
I hope you're well rested from a hopefully very pleasant holiday weekend, because we've got a lot to cover this week!
I hope you find this roundup useful.
If you should ever want to peruse previous weeks' roundups, we've recently created a This Week in Spring hash tag for the blog archives.
Anyway, we've got a lot to cover this week, so let's get on with it!
- Chris Beams has announced that the Spring Framework 3.2 RC2
has been released, consisting largely of bugfixes and refactoring as the project nears GA.
- Andy Wilkinson has announced the release and availability of the Spring Migration Analyzer,
a command-line utility that analyzes enterprise Java applications and produces a report describing the application and how it can be migrated to Spring.
Input an EAR file, get a migration effort report. It supports WebLogic, WebSphere, Java EE and JBoss in the milestone release, but we are looking for community support to make it better for GA!
- Catch the latest in the Spring Data webinar series on Dec 13th -- Data Access and Processing with Spring Data, Hadoop, Batch, Integration. We are also have a webinar on Spring Data Gemfire on Dec 6th: The Data Renaissance: Going in-Memory with VMWare vFabric GemFire 7.0 and Spring.
- If you have missed the other webinars in the Spring Data Webinar series, check out the SpringSource Dev Youtube channel for recently published replays on: Data Access with Spring -- Getting the most out of JPA, JDBC and REST and Introducing Spring for Apache Hadoop.
- Gary Russell has announced that Spring Integration 2.2.0.RC3 has been released.
- Spring Social 1.1.0 has been released. The new release includes easier XML and Java configuration, tighter adherence to the latest OAuth 2 specification drafts, including HTTP Basic client authentication and support for Resource Owner Credentials Grant and Client Credentials Grant, and updates to the Facebook and Twitter API bindings.
- Jens Schauder has a nice post on creating new Spring beans on demand using the
- The Java How to Program blog has a nice roundup on
How to use
annotation to automatically configure Spring beans.
- This is a nice post on how to implement the chain-of-responsibility pattern using Spring and
@Autowired (or alternatively
- Viral Patel's back at it again, this time with a post on Spring 3 MVC interceptors.
- The Mkyong blog has another nice post up on Spring and Java threading example using the Spring
- DZone has a nice post up on easy integration testing with Spring and the JUnit 4 support.
- I recently wrote up a version of a tutorial on getting started with SpringSource Tool Suite and Spring for beginners.
Wow! Guys, can you believe we are again
staring down the end of the year? Time sure flies!
In the US, this is the week of Thanksgiving, a holiday where we're supposed to take a moment and reflect upon the things for which we're grateful. I am (and I'm sure I speak for the team in saying that we are..) eternally grateful for you guys, the wonderful, vibrant and engaging community surrounding Spring, RabbitMQ and Cloud Foundry that makes putting together this roundup such a pleasure every week.
With that, let's get on with the news:
- Thomas Risberg has announced that the Cloud Foundry Maven plugin 1.0.0.M4 is now available.
- Our friend Tobias Trelle is at it again! This week, he's put together an interview with Oliver Gierke, the Spring Data ninja
- Teammate, friend, mentor and Grails Developer Advocate Peter Ledbrook
had a great answer when I asked him if there was a Spring Integration / Grails solution. He linked me to this code by Stephane Maldini
which lets you tie the Spring Integration project's wealth of adapters supporting system-to-system communication to the eventing system in Grails! That's really cool! "The nice thing," Peter adds, "is it can be used with RabbitMQ to extend the event bus across multiple application instances on Cloud Foundry." Brilliant. Thanks, Peter!
- Mark Fisher, Jonas Partner, Marius Bogoevici and Iwein Fuld give an interview to InfoQ on their just-released book Spring Integration in Action.
- The all and sundry blog has a nice post on how to build standalone (not run in an application server) Spring Integration applications.
- Jakub Nabrdalik has a post on a great way to introduce design-by-contract-style pre-conditions, post-conditions and state to your Spring code to get rid of the
null argument using a Spring aspect.
Java Revisited blog has a nice post on the difference between setter-injection and constructor-injection in Spring
- The Learn Java by Example blog has a nice, very introductory post on how to use
@javax.inject.Inject in your Spring applications.
- Kevin Hookee has a nice blog introducing some basic concepts in the Spring framework.
- Yohan Liyanage has put together a nice post that
can be used to integration test Spring Data MongoDB solutions by embedding MongoDB. Read on for more!
- The Technical Notes blog has put together a nice post
introducing the Spring internationalization support.
Welcome back to another installment of This Week in Spring! I started this week back in
the lovely Sofia, Bulgaria for the Cloud Foundry Open Tour event, talking to
a packed audience about building Spring applications on Cloud Foundry. Now, I'm in Antwerp, Belgium, at the Devoxx conference where I'll present on what's new in Spring 3.2, Cloud Foundry and more.
If you're here, I invite you to come visit the SpringSource booth and see some of the talks on Spring that I - and others - will be giving.
Roy Clarkson has announced not one, but two releases of Spring Mobile this week!
Spring Android 1.0.1 has been released. This release includes a change to support BlackBerry 10 mobile devices. BlackBerry 10 mobile devices are now resolved as a mobile device when using the
Then, he released the
1.1.0.M1 release, which folds in the 1.0.1 support as well as tablet support in site preference handling and site switching, support for Java-based container configuration, and support for servlet based configurations.
- Thomas Risberg has announced the GA release of Spring Data JDBC extensions with QueryDSL and Advanced Oracle support.
- There's a lot of interesting news in the testing space this week! First up, Rossen Stoyanchev
posted a nice blog on the Spring MVC Test framework for 3.2 RC1.
Then, Sam Brannen posted a great blog in the new testing features in the upcoming Spring 3.2 core (now available as part of 3.2 RC1).
- This isn't particularly new, but it's worth reiterating: Spring Framework 3.2 RC1 has been released! Take this opportunity to check it against your application, and to start learning about some of the new features.
David Turanski has put together a nice post on using the new Spring Integration Groovy DSL. Talk about a one-two punch combo!
- Today, Cloud Foundry announced a definition of Cloud Foundry Core, and launched core.cloudfoundry.org, which provides lots of neat utilities.
Looking at the various Cloud Foundry implementations and want to comparison shop? Or, would you like to request that a certain framework or service be added to Cloud Foundry?
- Viral Patel has put together a nice post on handling multiple file uploads with Spring MVC.
- Erwin Vervaet put together a great blog post introducing the nascent Spring Shell project. Nicely done!
- Santosh Rangarajan has done a nice job introducing the concepts of Spring Security 3.1
Welcome back to another installment of This Week in Spring! We've got a lot to cover, so let's get to it!
- Did you guys miss SpringOne2GX 2012?
I'm not going to lie to you - you really missed out! However, don't despair! Two of my absolute favorite
talks from the show are now available online - the keynotes! Both were amazing, but if you're looking for an amazing introduction to the trends underlying next generation of web applications, and a great (amazing!) tour of RabbitMQ, check out the day 2 keynote!
More sessions will be posted on that page, so check back often.
- Spring 3.2 is drawing ever nearer! The H has some
nice coverage of the new features in the framework.
- Chris Beams has announced the latest maintenance release, Spring 3.1.3 - the third in the 3.1 line, has been released!
- Guys, I'm so excited to tell you that SpringOne is coming to India! Register now!
Does your PaaS support your workloads? If you're using Cloud Foundry, then chances are good that it does!
Michael Isvy has put together a nice post on Spring MVC and the view layer
- The Spring Framework TestContext framework now supports session/request scoped beans for integration testing
- The first milestone of Spring Data SOLR has been released!
- Jonathan Brisbin has announced the 1.2 release of the Spring REST Shell.
The new release features SSL, basic auth, dotrc support, an updated Homebrew install formula, HATEOAS and hypermedia.
- Check out Costin Leau's webinar introducing Spring Data Hadoop this Thursday!
- RabbitMQ developer advocate Alvaro Videla linked to a great post on visualizing RabbitMQ topologies.
- Spring Data Batch and Spring Security OAuth ninja and Cloud Foundry UAA committer Dr. David Syer has written a really fantastic post on using Cloud Foundry's UAA agents OAuth2 endpoint. This has scarce little to do with Spring, except that Dr. Syer's posts are very educational and helped me tremendously in understanding the problems that Spring Security OAuth solves.
Welcome to another installment of This Week in Spring!
- Spring Data GemFire 1.2.1 and GemFire 7.0 have been released!
The new Spring Data release includes complete Spring XML namespace support for configuration of all GemFire resources, eliminating the need for GemFire's native cache XML (cache XML is also supported), and Spring Data Repositories for GemFire. Also of note, the GemFire shell (gfsh) was built with Spring Shell. For more on the GemFire 7.0 release, be sure to check out the post which in turn links to release notes and documentation.
- Michael Isvy has put together a nice blog on moving from JSP and Tiles to Thymeleaf, a new view layer that works particularly well with Spring MVC (and that we have talked about quite a bit in this very roundup for the last few years!).
Spring Security lead Rob Winch has done a nice interview with InfoQ on Spring Security in multi-tenant appications on the cloud
- Do you want to learn more about Spring Data? You might check out the new O'Reilly e-book, and - for a limited time only - get it for 50% off!
- Speaking of Spring Data, ZeroTurnaround, makers of the JRebel technology which makes it painless to instantly reload Java applications during development, has added Spring Data to the list of frameworks that it knows how to reload!
- Spring Integration engineer Gunnar Hillert has put together some interesting samples on the stored procedure support coming in Spring Integration 2.2! Be sure to check them out.
- Oliver Gierke has put together a demonstration of the Spring HATEOAS project.
The demonstration is from the already-a-classic tome, Rest in Practice, by Dr. Jim Webber, Savas Parastatidis, and Ian S. Robinson. The example - "Restbucks" - is a RESTful cafe checkout system. This, in turn, is modeled after the cafe checkout example from the book Enterprise Integration Patterns, by
Gregor Hohpe, and Bobby Woolf. It's a very cool example, and drives home how powerful the HATEOAS approach to REST services can be, and underscores how powerful a tool Spring HATEOAS is.
- Tomas Zezula has put together a nice blog on using Spring MVC, TeeOutputStream and grep4j together. 'Nuff said! Check out the post
- I was recently looking at embedded JMS message broker options and had some trouble getting the JBoss HornetQ JMS broker embedded, and found this post particularly helpful.
- Jérôme Verstrynge has a nice blog introducing how to do Spring MVC form validation using JSR 303 annotations. Check it out!
That's it from us this week. If you're in a country that celebrates Halloween today, tomorrow or soon, then Happy Halloween to you!
Welcome to another installment of This Week in Spring!
As usual, we've got a lot to cover so let's get to it! A lot of this news come from SpringSource itself, from various projects timed to coincide with SpringOne2GX last week. It's like receiving an early birthday gift!
And speaking of gifts, if you missed SpringOne2GX, don't worry! We recorded the SpringOne sessions and they will be posted soon. Also, you can check out the show wrap ups for Day 1, Day 2, and Day 3 on SpringSource.org to get a flavor for the conference.
- Costin Leau announced the release of Spring for Apache Hadoop 1.0.RC1 (the first-ever RC of Spring for Apache Hadoop!) featuring a template, exception translation and declarative runner for Pig and Hive scripts, enhanced map/reduce
.jar and tool execution, and refined JVM scripting, M/R, and Cascading runners.
Don't miss the upcoming webinar on Nov 8th!
- Peter Bell did a great presentation on Spring Data and the NoSQL space for QCon. Be sure to check it out!
- Yusuf has done a nice job introducing Spring's XA support in terms of the open source Bitronix standalone JTA-XA transaction manager. For an alternative guide, might I humbly suggest this blog post?
- Oleg Zhurakousky announced the release of Spring Integration 2.1.4 and 2.2.0.RC2 . The new release features pseudo transactions, JPA support, built-in retry support, and a lot more, so be sure to check it out!
- Costin Leau announced the release of Spring Data Redis 1.0.2, which features cache expiration and ZSet methods, among other things.
- Thomas Risberg announced the availability of the Spring Data JDBC extensions with Oracle database support, version 1.0.0.RC4.
- Satish Ab has a nice post on building the web layer with Spring MVC for his sample invoice application.
- The Mkyong blog has a nice post on how to autowire dependiecnes into custom JSF validators. Very nice post!
- Our friend Krishna Prasad has a nice post on hwo to implement the control bus pattern with Spring Integration and JMS
Welcome to This Week in Spring, SpringOne2GX 2012 edition! I'm putting this together from day 2 of the SpringOne2GX conference in Washington D.C.!
Last night, we kicked off the event with a great keynote by Juergen Hoeller (pictured above), Dr. Mark Pollack, Graeme Rocher, and Adrian Colyer, some amazing break dancing by international dancer Agame, and a mysterious kangaroo (see below)!
This is the premier event for JVM developers, featuring great speakers from VMWare, SpringSource, TypeSafe, Neo4j, and many others speaking on all manner of topics. The week is just kicking off. While the conference is running, there's also going to be a contest to find the best applications built using SpringSource technologies (Spring, Grails) and deployed to Cloud Foundry. I've seen the prizes (above), and I would enter too if I could!
If you're at the show, be sure to stop by the SpringSource and Cloud Foundry booths in the expo hall and pick up shwag and answers to your lingering questions. I'll be there tomorrow, in the evening.
Anyway, I won't linger too much on what you're missing! Let's move on to this week's roundup because, as usual, there's a lot to cover!
- Want to learn about what else has happened at SpringOne2GX? Check out this fantastic wrap up of day 1
- The Spring Data release train has finally arrived! Check out Oliver Gierke's post on the latest and greatest in in the GA versions of the Spring Data modules
- James Ward put together a nice post on how to use NoSQL inside SQL, with Java, Spring, Hibernate and PostgreSQL
- Our friend Krishna Prasad is back, this time with a post about jUnit testing of REST services and Spring MVC
- Spring Data Neo4J lead Michael Hunger, (via Andreas Kollegger) has put together a nice blog on how to use Spring Data Neo4j for the Hubway Data Challenge
- Speaking of Neo4j, there are some great talks from them at SpringOne this week -- be sure to check out their preview of what's what and who's who if you're at the event!
- Andriy Redko has introduced how to achieve publish/subscribe-style messaging Redis and Spring.
- Security's an important part of any application, and should be designed into the application from the beginning. Thankfully, Spring Security makes it easy. Grisha Mykhalyuno has put together a nice blog on preventing brute force attacks with Spring Security.
- Roger Hughes is back, this time with a specific point about Spring MVC's ability to map runtime parameters in controller methods to request parameters based on the variable name
- Our friend Krishna Prasad is at it again! This time, he's got a nice post on how to use vFabric RabbitMQ and Spring Integration (over Spring AMQP) to handle publish-subscribe messaging.
Jiji Sasidharan introduces Spring's
- Mike Hadlow introduces his new, alternative .NET RabbitMQ API in this post. The new API seems powerful and interesting.