Archive for the IOC Container category

Josh Long

Configuring Spring and JTA without full Java EE

Spring has rich support for transaction management through its PlatformTransactionManager interface and the hierarchy of implementations. Spring's transaction support provides a consistent interface for the transactional semantics of numerous APIs. Broadly, transactions can be split into two categories: local transactions and global transactions. Local transactions are those that affect only one transaction resource. Most often, Read more…

Josh Long

What's a FactoryBean?

In this post, I'll look at Spring's org.springframework.beans.factory.FactoryBean<T> interface. The definition of this interface is: A FactoryBean is a pattern to encapsulate interesting object construction logic in a class. It might be used, for example, to encode the construction of a complex object graph in a reusable way. Often this is used to construct complex Read more…

Chris Beams

Spring 3.1 M2: Configuration Enhancements

As Juergen mentioned in his post yesterday, and as I've mentioned in my previous posts on 3.1 M1, one of the major themes of Spring 3.1 is completing our vision for code-based configuration in Spring. We think a modern enterprise Java application should have a choice between Java and XML as first class options for Read more…

Chris Beams

Spring 3.1 M1: Introducing FeatureSpecification support

Introduction Earlier in this series I touched on how the new @Profile annotation can be used in conjunction with @Configuration classes to take advantage of Spring's bean definition profiles. Today, we'll look at an entirely new addition to the code-based configuration landscape in Spring 3.1: FeatureSpecification classes and their related support. I've put together a Read more…

Chris Beams

Spring 3.1 M1: Unified Property Management

In the first two posts of this series, I described the bean definition profiles feature, and how it relates to the Environment abstraction new in Spring 3.1 M1. Today we'll take a look at a second aspect of the Environment — how it helps simplify the concern of configuration property management. Understanding property sources Spring's Read more…

Chris Beams

Spring 3.1 M1: Introducing @Profile

Introduction In my earlier post announcing Spring 3.1 M1, I discussed the new bean definition profiles feature as applied when using Spring <beans/> XML to configure the container. Today we'll introduce the new @Profile annotation and see how this same feature can be applied when using @Configuration classes instead of XML. Along the way we'll Read more…

Costin Leau

Spring GemFire 1.0.0.M1 released for Java and .NET

I am happy to announce the first milestone release of the Spring GemFire project, the newest member in the Spring family. Spring GemFire (for short SGF) brings the Spring concepts and programming model to GemFire, SpringSource's distributed data management platform. The release is available for both Java and .NET. The features in 1.0.0.M1 include: declarative Read more…

Jeremy Grelle

Introducing the Flex Addon for Spring Roo

Recently we released the first milestone of the Flex Addon for Spring Roo as a part of the Spring BlazeDS Integration 1.5.0.M1 distribution. This addon aims to bring the productivity and usability benefits of Spring Roo to the development of Spring-based RIAs with Flex. The below 15 minute screencast (split into two parts) serves as Read more…

Chris Beams

Configuration Simplifications in Spring 3.0

Second in a series of posts on "Spring 3 Simplifications" started yesterday by Keith, I'd like to provide a very brief and hands-on introduction to Spring's new @Configuration annotation and related support. As those that followed the Spring JavaConfig project will know, a @Configuration-annotated class serves much the same role as a Spring XML file. Read more…

Dave Syer

Logging Dependencies in Spring

This article deals with the choices that Spring makes and the options that developers have for logging in applications built with Spring. This is timed to coincide with the imminent release of Spring 3.0 not because we have changed anything much (although we are being more careful with dependency metadata now), but so that you Read more…