New Improvements in Domain Object Dependency Injection Feature

Engineering | Ramnivas Laddad | January 24, 2008 | ...

Spring's dependency injection (DI) mechanism allows configuring beans defined in application context. What if you want to extend the same idea to non-beans? Spring's support for domain object DI utilizes AspectJ weaving to extend DI to any object, even if it is created by, say, a web or an ORM framework. This enables creating domain behavior rich objects, since domain objects can now collaborate with the injected objects. In this blog, I discuss the latest improvements in the Spring framework in this area.

The core idea behind domain object DI is quite simple: An AspectJ-woven aspect selects join points corresponding to creation or deserialization of any object matching certain specification. Advice to those join points inject dependencies into the object being created or deserialized. Of course, the devil is in the details. For example, how do you select join point corresponding to deserialization or how do you inject dependency only once per object? By offering a few pre-written…

Spring Overtakes EJB as a Skills Requirement

Engineering | Rod Johnson | January 24, 2008 | ...

Job listings are a good indicator of the true adoption of technologies. They indicate whether or not companies are spending money, making it possible to distinguish substance from hype; they indicate the importance for developers of gaining and growing the relevant skills (an important element of technology perpetuation); and they provide a good guide to the safety for companies in adopting a particular technology.

Thus the jobtrends site of Indeed.com, a job listing aggregation site, is an important resource. It allows trends in the number of job requirements to be tracked over time, and…

Spring Integration 1.0 Milestone 1 Released

Releases | Mark Fisher | January 24, 2008 | ...

Dear Spring community,

I am pleased to announce that Spring Integration 1.0.0.m1 has been released.
Download| Reference Documentation| JavaDoc

This is the first milestone release of this new addition to the Spring Portfolio. To learn more about the project and what lies ahead, visit the Spring Integration Home. To ask questions, provide feedback, or report issues during this important phase of design and development, please visit the Spring Integration Forum and Issue Tracker.

Mark Fisher
Spring Integration Lead

The SpringSource Certification Program

Engineering | Daryl Heinz | January 17, 2008 | ...

Note: This post has been edited to reflect Spring's move to Pivotal. A more recent blog on Spring Training and Certification is here.

Since I joined SpringSource six months ago as the Director of Training, I have been hearing one consistent request. Based on the growing demand for Spring skills, developers and consultants worldwide are seeking quantifiable ways to demonstrate their Spring expertise. Likewise, the hiring managers behind that demand are asking for a certification program to help identify and hire technologists who have an immediately useful, baseline knowledge of Spring.

Much like the way the Spring project teams respond to the needs of the open source community, we have responded and are pleased to announce the SpringSource Certification Program. This program kicks off this month, January 2008, with the Spring Framework Professional

The Power of Adoption: Why no Company is Big Enough to Deny Developers What They Want

Engineering | Rod Johnson | January 16, 2008 | ...

Quite a day for news as we complete our first annual Spring eXchange in London. First, the news that Sun Microsystems acquired MySQL, and then the long anticipated acquisition of BEA Systems by Oracle. Before commenting any further, I want to congratulate all of our friends at MySQL, especially Mårten Mickos, and all of our friends at BEA. The trend of consolidation in this industry is increasing.

As an open source company, we are thrilled to see MySQL rewarded for their effort. We have seen how hard Mårten and his colleagues have worked to build their software, community and a strong…

Happy Birthday Tony Hoare

Engineering | Rod Johnson | January 14, 2008 | ...

Last Friday was Tony (C.A.R.) Hoare's birthday. Who is C. A. R. Hoare? If you're a programmer, you're probably familiar with Quicksort--an elegant and surprisingly simple sorting algorithm that is blazingly fast in most cases. If you studied computer science, you've almost certainly implemented Quicksort in numerous languages, and will recognize the animation on this page. Hoare invented Quicksort in 1960, and it's now the most widely used sorting algorithm. Quicksort in Action

Among other contributions, Hoare also invented the Communicating Sequential Processes (CSP) language used to specify the interactions of…

Spring Framework 2.5.1 and 2.0.8 released

Releases | Juergen Hoeller | January 09, 2008 | ...

Spring 2.5.1 is the first bug fix and enhancement release in the Spring 2.5 series. It closes a couple of gaps found in Spring 2.5 final and introduces various new features in the context of Java 6 and Java EE 5 support:

  • Java-5-specific Model interface for use with MVC handler methods
  • @ModelAttribute's default attribute names are consistently derived from the *declared* parameter/return type
  • Support for last-modified handling in @RequestMapping handler methods (through the WebRequest interface)
  • SpringBeanAutowiringSupport class for self-autowiring classes within a web app (e.g. JAX-WS endpoints)
  • EJB3-compliant SpringBeanAutowiringInterceptor for processing Spring's @Autowired in EJB3 SBs/MDBs
  • Remoting support for the HTTP server that is included in Sun’s JDK 1.6 (covering HTTP invoker, Hessian and Burlap)
  • "jms:listener-container" tag supports a concurrency range (e.g. "3-5"), for specifying a minimum number of consumers
  • Tiles2 support works on JDK 1.4 as well
  • Any many further enhancements in the details…

Spring 2.0.8 is a bug fix release in the Spring 2.0 series, addressing all issues reported since 2.0.7 and backporting various minor refinements from Spring 2.5.1. This is the last planned 2.0.x release. We recommend upgrading to Spring 2.5.1 where lots of new features are waiting for you to try them...

Capturing failures and system state (part I)

Engineering | Alef Arendsen | January 07, 2008 | ...

At The Spring Experience, I hosted a session various aspects. One of them was the Hibernate synchronization aspect that I described last week. Another was an aspect capable of capturing first failures and system state, sometimes called First-Failure Data Capture (FFDC). I hosted this session to show off some aspects that are very useful, but that people might not have come across in practice yet. I often hear people asking about aspects other than logging, tracing, transaction management and security. The Hibernate synchronization aspect and the FFDC aspect are nice examples I think.

Introduction

The objective of FFDC is to capture as much information about the current state of the system when an error occurs. The following entry explains how this aspect works and how you can use in your own applications.

Let's…

Before a JDBC operation, flush the Hibernate Session (includes TSE example code)

Engineering | Alef Arendsen | January 04, 2008 | ...

Mixing code in one and the same transaction that uses an Object-Relational Mapper with code that doesn't, can cause issues with data not being available in the underlying database when it should be. Since this is a situation I come across once every now and then, I figured it would be helpful for all if I write down my solution to this problem.

In short: what I will present in the remainder of this post is an aspect that triggers the underlying persistence mechanism (JPA, Hibernate, TopLink) to send any dirty data to the database.

I presented this aspect by the way during one of my sessions at The Spring Experience last December and this post also has the source code for those of you…

Spring .NET 1.1 and container configuration

Engineering | Mark Pollack | January 04, 2008 | ...

It has been quite a year for Spring.NET. We have gone through two milestone and two release candidates before the GA release in December. The first chunks of code for the 1.1 release were made way back in late 2004 by Aleks Seovic who started work on the ASP.NET framework. In short, it has been a long time in the making. Being the end of year, a natural time for reflection both past and present, I'd like to say thanks to the other members of the project and the Spring.NET community for all their contributions and support. I'm looking forward to a great 2008!

The feature set of Spring.NET 1.1 is quite broad. An IoC container for Dependency Injection, AOP, ASP.NET framework, declarative transaction management and more. However, the biggest bang for the buck you can get to improve the structure and testability of your code is to add Dependency Injection and AOP into your proverbial developer tool chest. Dependency Injection is the more foundational…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

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