Newest Post

Spring for Android 1.0.0 Released

Read more

Video: Spring Dependency Injection Styles

This video provides a tour of modern dependency injection and Spring container configuration styles, including those available in the Spring 3.1 release. Spring expert and long time committer, Chris Beams, shows by example the use of Java @Configuration classes, Annotated POJOs, and XML to wire up your application. The presentation covers not just how to configure the container to use these options, but will also discuss why you would choose one method over another, as well as how they can be mixed and matched.

Read more

This Week in Spring: May 29th 2012

Welcome back to another installment of This Week in Spring! As usual, we have a lot to cover, so let’s get straight to it!

  1. Chris Beams has announced that the first milestone release towards Spring 3.2
    is now available
    ! This release is great!

        It includes 
        initial support for asynchronous <CODE> @Controller</CODE> methods,
        early support for JCache-based cache providers,
        significant performance improvements in autowiring of non-singleton beans,
        initial delay support for <CODE> @Scheduled</CODE> and <CODE> &lt;task:scheduled&gt;</CODE>,
        ability to choose between multiple executuors with <CODE>@Async</CODE>,
        enhanced bean profile selection using the not (<CODE>!</CODE>) operator,  
        48 bugs fixed, 8 new features and 36 improvements implemented. 

    Check out the latest and greatest bits now, and feel free to give feedback!

    When I asked for any items for consideration into this roundup on my Twitter account, one user immediately shot back: “With the Spring 3.2 news, how about a poll on whether the community wants 3.2 M1 to be followed by RC1. It’s too good to wait.” I agree, this release is pretty epic!


  2. Michael Isvy has put together a fantastic introduction to the low level proxy machinery at the heart of much of Spring, including transaction management and caching. Once you understand how it works, it’s easy to employ it surgically.

  3. Martin Lippert has announced that
    SpringSource Tool Suite 2.9.2 has been released.
    The release includes updated compatibility with tcServer 2.7 and some bug fixes.
  4. Alan Stewart has announced the 1.2.2 release of Spring Roo.

     This is the second maintenance release for 1.2 and includes fixes for a number of issues and includes support for Spring Framework 3.1.1 and JDK 7.  Roo 1.2.2 also includes the excellent new "tailor" feature provided by our partner, Accenture. The H-Online website had <a href = "">coverage of the release</A>.  </LI>  
    <LI> The Cake Solutions blog has put together  (another!) 
     great blog introducing 
    <a href ="">
    how to run Neo4j embedded with the web administration tool, and Spring Data</A>. 
    / </LI>

  5. The Zenika blog is at it again, this time with not one, but two great entries into this week’s roundup. The first entry provides an overview of Spring Data MongoDB and the second entry provides an overview of how to use Spring Batch and MongoDB together. Great stuff, and I’ll certainly be checking back for new content!
  6. The JavaRevisted blog has a nice post on how to specify a bean’s scope in Spring. A few points of clarification: Spring 3.0 does provide new scopes (including one of my favorites, the SimpleThreadScope), and - while this blog introduces the default scopes available - you can easily register new scopes using the CustomScopeConfigurer, and filling out the map of custom scope instances, like this:

    	public static CustomScopeConfigurer csc(){ 
    	  Map<String,Object> scopes = new HashMap<String,Object>();
    	  scopes.put("thread", new SimpleThreadScope());
    	  CustomScopeConfigurer csc = new CustomScopeConfigurer();
    	  return csc;	

  7. Blogger Angelo Zerr has put together an introduction to how to use Spring Virgo (formerly Spring DM) and Spring Data JPA and Spring Remoting to build an Eclipse RCP application. There are many blogs - and they seem to have have links near the top to the previous one preceding it, so simply work backwards to get all of them.

    There are versions of the articles in both French and English.

  8. Navin Bansal has put together a blog introducing the bean lifecycle for beans managed by the Spring container.
Read more

Spring Framework 3.2 M1 Released

The first milestone release toward Spring 3.2 is now available from the SpringSource repository at See here for a quick tutorial on resolving these artifacts via Maven.

This release includes:

Read more

Spring Roo 1.2.2.RELEASE available

The Spring Roo team is pleased to announce the availability 1.2.2.RELEASE.  This is the second maintenance release for 1.2 and includes fixes for a number of issues and includes support for Spring Framework 3.1.1 and JDK 7.  Roo 1.2.2 also includes the excellent new “tailor” feature provided by our new partner, Accenture.

I hope you enjoy this new release!


Spring Roo Project Lead

Read more

SpringSource Tool Suite 2.9.2 released

Dear Spring Community,


We're pleased to announce the update release 2.9.2 of the SpringSource Tool Suite (STS).


This update release got updated to support and ship the just released vFabric tc Server 2.7 and includes a few bug fixes. More details on new features and bug fixes can be found in the New and Noteworthy document. Detailed installation instructions are also available. As always downloads are available from the STS download page.



Read more

Transactions, Caching and AOP: understanding proxy usage in Spring

In the Spring framework, many technical features rely on proxy usage. We are going to go in depth on this topic using three examples: Transactions, Caching and Java Configuration.

All the code samples shown in this blog entry are available on my github account.


First step: no transaction

The Service class below is not transactional yet. Let’s first look at it as is and then make it become transactional.

@Service public class AccountServiceImpl  implements AccountService { //… //Not specifying a transaction policy here! public void create(Account account) { entityManager.persist(account); } }
Read more

This Week in Spring - May 22nd, 2012

Welcome back to another installment of This Week in Spring. We have a lot of great content this week, as usual!

  1. Rossen Stoyanchev has put up another blog in his series on Spring MVC 3.2 Preview. This latest installment introduces a Spring MVC chat example.
  2. Oliver Gierke has announced the 1.1.0 GA version of Spring Data JPA. Spring Data JPA makes it very simple to build JPA-based repositories, saving you from the tedious boiler plate code. This new release includes new keywords for query generation (LessThanEqual, GreaterThanEqual, Before, After, StartsWith, EndsWith, and Contains), a handy PersistenceUnitPostProcessor to scan for JPA entities (to be used in Spring versions before 3.1), support for native queries in @Query, and support for declarative locking.
  3. Jonathan Brisbin announced the 1.0.0.M2 release of Spring Data REST. Spring Data REST let’s you easily export your Spring repository objects as RESTful endpoints. The new release includes support for invoking query methods of Repository interfaces, support for JSR 303 and Spring Validator validations, and improved support for Spring ApplicationEvents that are emitted before and after each save or delete, and annotation-based configuration.

  4. Oleg Zhurakousky has announced the first milestone release of Spring Integration 2.2. This release includes dependency upgrades, JPA support, and support for “publisher confirms and returns,” which are newly supported in Spring AMQP.
  5. Gary Russell has announced version 1.1.0 of Spring AMQP that includes support for the RabbitMQ 2.8.x client, which in turn supports mirrored queues, broker failover, publisher confirms, returns, federated exchanges, and much more.
  6. Matt Vickery has a great post introducing the Spring Integration splitter-aggregator pattern.
  7. Willie Wheeler has a great post up on his custom configuration management database (a CMDB). The post details the project, and then talks about his use of Spring Data’s repositories in rebuilding the backend for CMDB. Nice post, Willie!
  8. Doug Haber put together a wonderful post on
    handling paging using Spring Data and the REST support in Spring 3.1.
  9. Blogger panbhatt has a detailed post on using Spring MVC’s REST support to solve a particular set of problems he was having.
  10. Blogger OBSERWATORZY described his particular thought process when trying to consume a RESTful service, and wondering if Spring provided an answer (of course it did!). Read on for his resolution.
  11. Vishal Biyani has put together a nice introduction to getting started with Spring Roo and Cloud Foundry.

  12. The RabbitMQ blog has an amazing article introducing queueing theory (with an introduction to throughput, latency and bandwidth.
  13. JAXEnter has a nice roundup of some of the news releases described in this very post, including the Spring AMQP and Spring Data JPA’s GAs.
Read more

Spring Integration 2.2.0.M1 is released

We are pleased to announce the first milestone release of Spring Integration 2.2 stream - Spring Integration 2.2.0.M1.
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns

Aside from the usual bug fixes this release brings quite a few new features and upgrades:

  • Dependency upgrades such as Spring 3.1.0.RELEASE, Spring AMQP 1.1.0.RELEASE, Spring Data Mongo 1.1.0.M1, Spring Gemfire 1.1.1.RELEASE

  • JPA support

  • Initial support for graceful shutdown of integration context

  • Support for ‘Publisher Confirms and Returns’ based on new features of Spring AMQP

  • etc.

Read more

Spring AMQP 1.1.0 Released

Spring AMQP provides the familiar benefits of the Spring programming model to AMQP and, specifically, Rabbit MQ.

We are pleased to announce the general availability of the 1.1.0 release of spring-amqp for Java, which supports the RabbitMQ 2.8.x client, providing the following features…

  • Mirrored Queues
  • Broker Failover
  • Publisher Confirms
  • Returns
  • Federated Exchanges
  • ...and more

For more information, refer to the project home page.

The Spring Integration 2.2.0 Milestone 1 release supports the features of this spring-amqp release.

Read more