The Spring Blog

Engineering
Releases
News and Events

Getting started with Spring Data JPA

As we have just released the first milestone of the Spring Data JPA project I’d like to give you a quick introduction into its features. As you probably know, the Spring framework provides support to build a JPA based data access layer. So what does Spring Data JPA add to this base support? To answer that question I’d like to start with the data access components for a sample domain implemented using plain JPA + Spring and point out areas that leave room for improvement. After we’ve done that I will refactor the implementations to use the Spring Data JPA features to address these problem areas. The sample project as well as a step by step guide of the refactoring steps can be found on Github.

Read more...

Spring BlazeDS Integration 1.5.0.M2 Released

Dear Spring Community,

I'm pleased to announce that the 1.5.0.M2 milestone release of Spring BlazeDS Integration, the open source solution for building Spring-powered RIAs with Adobe Flex, is now available.

Download | Reference Documentation | JavaDocs | Changelog

Highlights of the significant new features and enhancements in this release include:

  • Support for reading and writing AMF content with RESTful Spring MVC @Controllers. This serves as a nice alternative to the direct RPC approach of the Remoting Service, reducing duplication of effort in applications that need to support multiple client types. (See the updated Test Drive for usage examples.)

  • A major refactoring of the Spring Security 3 support, resulting in easier integration of Flex apps with various Spring Security features such as Remember Me, Session Fixation Protection, and Concurrent Session Control.

  • Further evolution of the Hibernate serialization support introduced in 1.5.0.M1, including the option to use direct field mapping instead of property-based mapping.

  • Easier customization and namespace-supported configuration of framework-provided services such as the LoginCommand and MessageInterceptors.

  • Upgraded compatibility with Spring Integration 2.0.x

  • A complete revision of the Maven-based Test Drive samples, including an update across the board to use Flex 4, and a brand new sample to demonstrate the RESTful programming model.
Read more...

Spring Data Key Value (Redis + Riak) 1.0.0.M2 Released

Dear Spring Community,

I am pleased to announce the second milestone release of the Spring Data Key Value 1.0 project, with support for Redis and Riak, is now available!

Downloads | JavaDocs | Reference Documentation | Changelog

This release introduces several new features for both Redis and Riak, such as:


  • [Redis] Pubsub support (such as a MessageListenerContainer for message-driven POJOs)

  • [Redis] JSON and Spring Object/XML mapping serializers

  • [Redis] Full support for upcoming Redis 2.2

  • [Redis] Sorting and Pipelining functionality

  • [Riak] Asynchronous RiakTemplate

  • [Riak] Dedicated Groovy DSL for asynchronous Riak access

Read more...

Spring Data JPA 1.0.0.M1 released

Dear Spring Community,

we are pleased to announce that the first milestone release of the Spring Data JPA project is now available! The release includes:

  • Merge of the Hades open-source library into Spring Data
  • Sophisticated support to build repositories based on Spring and JPA
  • Transparent auditing of domain class
  • Pagination support, dynamic query execution, ability to integrate custom data access code
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.0.0.M1</version>
</dependency>

<repository>
    <id>org.springframework.maven.milestone</id>
    <name>Spring Maven Milestone Repository</name>
    <url>http://maven.springframework.org/milestone</url>
</repository>
Read more...

Spring Android and Maven (Part 2)

In Spring Android and Maven (Part 1), I described how to build an Android application from the command-line using Maven. In this post, I will show you how to build an Android application with Maven dependency management from the Eclipse IDE. The application will also showcase the latest features in Spring Android 1.0.0.M2, which was released this week.

Overview

The Maven Android Plugin lets you build your Android applications with Maven and benefit from dependency management. Google’s Android Development Tools (ADT) plugin allows you to develop and build Android applications within the Eclipse IDE. To get Maven dependency management within Eclipse, the Maven Integration for Android Development Tools plugin is required, which integrates m2eclipse, the ADT Plugin, and the Maven Android Plugin. This post will show you how to install this plugin and use it to get Maven-based dependency management working in the Eclipse IDE.

Read more...

Spring Android 1.0.0.M2 Released

Dear Spring Community,

We are pleased to announce that the second milestone release of the Spring Android project is now available!

Spring Android supports usage of the Spring Framework in a Android environment. The 1.0.0.M2 release focuses on extending the use of RestTemplate in native Android applications:

  • We now use the HttpComponents HttpClient 4 by default for all REST calls, which is a native HTTP client on the Android platform. This replaces the use of the Commons HttpClient 3 from the first milestone.
  • We have added Object-to-XML marshaling support through the use of the Simple XML serialization library. Simple has a small footprint and is compatible with Android.
  • RSS and Atom Feeds are now supported through the Android Rome Feed Reader. Android Rome is a port of the popular Rome library that is compatible with Android.
  • Integration with the Jackson JSON Processor continues to provide first-class Object-to-JSON marshaling support.
Read more...

This week in Spring: February 8th, 2011

This has been another exciting week in the Spring community. The community seems abuzz about the new Tomcat release, mobile clients, Spring Data and big data (e.g., Spring Gemfire, Redis, and of course the Spring Data projects.)

A reminder: Juergen Hoeller - lead of the core Spring framework and contributor to all of the sister Spring projects, in some fashion or another - is giving two identical webinars - one for North America and one for Europe - on the new features in Spring 3.1 in two days (February 10th)! Be sure to register for this free webinar on the next iteration of the most widely used Java framework!

Read more...

Spring Mobile 1.0.0.M3 Released

Dear Spring Community,

We are pleased to announce that the third milestone release of the Spring Mobile project is now available!

Spring Mobile provides extensions to Spring MVC that aid in the development of cross-platform mobile web applications. The 1.0.0.M3 release ships a general facility for user site preference management that can be used independently or in conjunction with the mobile site switcher. See the changelog and reference manual for all the info.

Download the release distribution or pull the artifacts from Maven using the following:

Read more...

Spring GemFire 1.0.0 Released for Java and .NET

Dear Spring Community,

We are pleased to announce that the first GA release of the Spring GemFire 1.0 project is now available for both Java and .NET! The Spring GemFire project aims to make it easier to build Spring-powered highly scalable applications using GemFire as distributed data management platform.

Download it now: Spring GemFire for Java | Spring GemFire for .NET

This release features:


  • Declarative dependency injection style configurations for the GemFire infrastructure (such as Cache, Region, Interest, etc)

  • Extensive namespace support for configuring all the major GemFire components: cache, replicated, partitioned and client regions and many more

  • Exception translation to Spring’s portable DataAccess exception hierarchy

  • Template and callback support for easy native API access

  • Transaction management support

  • Spring-backed wiring for GemFire managed objects

  • Auto-generation of non-reflection based Instantiators

  • Native support for GemFire 6.5 (besides 6.0)

  • Declarative Caching Advice (for .NET)

Read more...

This week in Spring: February 1st, 2011

This week’s been a fascinating rush of developments in the community. Depending on where you look, the excitement is behind the newer, more cutting edge stuff like Spring Data, Gemfire, and Virgo, or it’s behind the wonderful refinements to technologies like Tomcat and SpringSource Tool Suite. Either way, there’s a lot to take in this week, so let’s get started!

  1. SpringSource Tool Suite 2.6.0.M1 has been released. This new version features improved content-assist and quick fixes, new wizards and views for Spring MVC @RequestMapping-based applications. It also features improved content-assist performance for Groovy, and improved syntax highlighting for Groovy.
  2. Spring Data Graph - Neo4j Support 1.0.0.M2 Released. The new release has many new features, including improved indexing support - full, named index support for nodes and relationships, removal of node and relationship entities, strict type checking on entity instantiation from framework methods (according to type strategy), support for dynamic projection to arbitrary graph entities, and new updated support for Neo4j 1.2.
  3. Shekhar Gulati has posted an introduction to Spring Roo (part 1, building from source) on IBM’s DeveloperWorks.
  4. Mark Thomas, a senior contributor to the Tomcat project, has written about preventing Cross-Site Scripting attacks in Tomcat 7
  5. The VMWare vFabric GemFire team has just put together a video demonstrating how to setup the GemFire’s Hibernate Cache Module. The video demonstrates how to configure the module in Maven and then demonstrates its use in a Spring-DAO based implementation. Finally, the use of Spring Insight to monitor the application’s performance is demonstrated. Cool video for an even cooler technology!

  6. Sebastian Pietrowski
    has published a good introduction to Spring Data Redis.

  7. Shekhar Gulati contributed another great post - also on Spring Data and Redis. Spring Data is the umbrella name for a slew of technologies designed to support more specialized data persistence needs. A large part of this is the deep support for many of the NoSQL data stores available today, as well as more specialized support for JDBC-based persistence.
  8. The Java Code Geeks have written up a good post on Aspect Oriented Programming with Spring AOP
  9. Jose Delgado wrote up a good post on how to configure an application to handle two databases in Spring Roo.
  10. Sivaprasadreddy Katamreddy is at it again, this time on applying Inversion of Control and Dependency Injection to method design
  11. Glyn Normington tweets that the Eclipse Virgo kernel is now running successfully for the first time on a directed graph of regions implemented using OSGi 4.3 framework hooks. Congratulations! Eclipse Virgo is the name of the new-and-improved version of what was formerly the SpringSource dm Server.
  12. David Dossot retweeted an interesting post that explores

    the Activiti BPMN 2 engine using Spring from earlier last month.

  13. With all the exciting news of Tomcat 6 and 7, it’s easy to forget that Tomcat 5 is still being updated and supported. Tomcat 5.5.32 has also just been released!
Read more...