Chris Beams

Chris Beams

Alumni
Recent Blog posts by Chris Beams

Spring project infrastructure updates

Engineering | June 27, 2012 | ...

Introduction

Over the last year a number of significant changes have been made to the infrastructure and processes we use to keep the Spring family of projects running smoothly. You may have seen individual announcements about some of these as they happened, while others may have slipped under your radar. I'll recap these changes below. When put together they portray a bigger picture.

GitHub project hosting

Individual Spring projects have been migrating to Git and GitHub for quite a while. You may recall our announcement last Christmas that the Spring Framework itself had made the move. With the recent migration of Spring Web Flow, we're happy to announce that all major Spring projects are now hosted under the SpringSource organization at GitHub.

There are benefits for project committers and Spring users alike following the move to Git and GitHub. GitHub has an excellent UI for code browsing, history of changes, and commit comments. And with the amazing number of open source projects already hosted at GitHub, this means that you're using one well-understood UI and that you already know how to browse source control, examine recent changes and so on. But GitHub's real power is in the way it encourages and supports community contribution. This point is discussed further in the "contribution process" section below.

For now, check out…

Spring Framework 3.2 M1 Released

Releases | May 29, 2012 | ...

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

This release includes:

This is also the first release since our move to GitHub and using our new Gradle build. A special thanks to the authors of the many pull requests submitted and merged during 3.2 M1! Keep them coming!

Download | Documentation | Javadoc API | Change Log | JIRA | Forum | Stack Overflow

Spring Framework moves to GitHub

Engineering | December 21, 2011 | ...

Today we're happy to announce that the Spring Framework has moved to GitHub!

spring-framework on github

As you've probably noticed, nearly every other Spring project has already made the move, and those that haven't will soon.

Git helps us with many of the challenges of managing a large codebase like the Spring Framework, but what's most exciting is what GitHub means for the Spring community. Many readers will already know the virtues of watching and forking repositories, pull requests, forking and editing, and the many other features that GitHub adds to the already excellent world of Git. If you're new to this stuff, be sure to check out the great materials at help.github.com

Spring 3.1 M2: Configuration Enhancements

Engineering | June 10, 2011 | ...

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 its configuration. In this post we'll see how Spring 3.1 M2 helps make this a reality.

Note that although Java-based configuration has been available since Spring 3.0, with this release it is now on par with many more of the XML-based features that have been developed over the…

Spring 3.1.0 M2 Released

Releases | June 08, 2011 | ...

The second and final milestone of Spring 3.1 is now available from our http://maven.springframework.org/milestone Maven repository or for direct download from our community download page. This release includes new features such as:

  • Code equivalents for Spring's XML namespaces
  • Builder-style APIs for code-based Hibernate configuration
  • TestContext framework support for @Configuration classes and bean definition profiles
  • Support for injection against non-standard JavaBeans setters
  • Support for Servlet 3 code-based configuration of Servlet container
  • Support for Servlet 3 MultipartResolver
  • JPA EntityManagerFactory bootstrapping without persistence.xml
  • New HandlerMethod-based Support Classes For Annotated Controller Processing
  • Consumes and Produces @RequestMapping Conditions
  • Working With URI Template Variables In Controller Methods
  • Validation For @RequestBody Method Arguments
See the New Features and Enhancements in Spring 3.1 section of the reference documentation for more information

Stay tuned to the SpringSource Blog over the coming week for a series of posts covering what's new in 3.1.0.M2.

Download | Documentation | Javadoc API | Change Log | JIRA

Don't forget that Spring users can ask questions in the community forum and identify issues in JIRA as well.

Spring 3.1 M1: Introducing FeatureSpecification support

Engineering | February 17, 2011 | ...

UPDATE: The FeatureSpecification functionality described in this blog post was removed in Spring Framework 3.1 M2 in favor of @Enable* annotations. See the 3.1 M2 announcement for more information.

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 sample project to accompany this post. Find it at https://github.com/cbeams/spring-3.1-featurespec and follow the instructions in the README

Spring 3.1 M1: Unified Property Management

Engineering | February 15, 2011 | ...

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 Environment abstraction provides search operations over a configurable hierarchy of property sources. To explain fully, consider the following:


ApplicationContext ctx = new GenericApplicationContext();
Environment env = ctx.getEnvironment();
boolean containsFoo = env.containsProperty…

Spring 3.1 M1: Introducing @Profile

Engineering | February 14, 2011 | ...

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 cover some best practices for designing @Configuration classes.

Recall @Configuration

For those unfamiliar with @Configuration classes, you can think of them as a pure-Java equivalent to Spring <beans/> XML files. We've blogged about this featureset before, and the reference documentation covers it well. You may want to revisit those resources if you need an…

Spring 3.1.0 M1 Released

Releases | February 11, 2011 | ...

The first milestone of Spring 3.1 is now available from our http://maven.springframework.org/milestone Maven repository or for direct download from our community download page. This release includes new features such as:

  • Bean definition profiles
  • Enhancements to Java-based container configuration
  • Caching abstraction
  • new c: XML namespace
  • Improvements to Spring MVC
Stay tuned to the SpringSource Blog over the coming week for a series of posts covering what's new in 3.1.0.M1.

Download | Documentation | Javadoc API | Change Log | JIRA

Don't forget that Spring users can ask questions in the community forum and identify issues in JIRA as well.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all