The Spring Blog

Engineering
Releases
News and Events

dm Server project moves to Eclipse.org

Today we will be releasing version 2.0 of the dm server. This represents a major milestone for the project, and for enterprise application development with OSGi in general. I’m delighted to now be able to reveal the next step in the dm Server journey: we have submitted a proposal at Eclipse.org to continue development of the dm Server as part of the Eclipse RT top-level project. The Eclipse nickname for the project is Virgo.

Quick links:

Read more...

Task Scheduling Simplifications in Spring 3.0

Continuing the Spring 3.0 “simplification series” started by Keith and Chris, I would like to provide a quick overview of simplifications in scheduling and task execution enabled by Spring 3.0.

I will be walking through a basic sample application that you can checkout from the spring-samples Subversion repository. It has been designed to be as simple as possible while showcasing both annotation-driven and XML-based approaches to scheduling tasks in Spring 3.0.

Let’s begin with the annotation-driven approach. You can run it directly via the main() method in AnnotationDemo. If you take a look, you’ll see that it’s nothing more than a bootstrap for a Spring ApplicationContext:

Read more...

Spring Roo 1.0.0 Released

We’re delighted to announce the general availability (GA) of Spring Roo 1.0.0.

Spring Roo is a next-generation rapid application development tool for Java developers. With Roo you can easily build full Java applications in minutes. It differs from other tools by focusing on:

  • Higher Java productivity: Try the ten minute test and see for yourself.
  • Stock-standard Java: Roo uses the Java APIs and standards you already know and trust.
  • Usable and learnable: Roo features an extremely high level of usability and an advanced shell.
  • No engineering trade-offs: Roo has no runtime portion and does not impose any CPU, RAM or disk storage cost.
  • Easy Roo removal: Roo can be easily removed from a user project in under five minutes.
Read more...

Grails 1.2 Released

Continuing the release train, today we are excited to announce the general availability of Grails 1.2 final. Representing the most stable and performant Grails release yet, Grails 1.2 is a significant new release of the premier dynamic language framework for the JVM.

As well as featuring all of the goodness of Spring 3, this release has a number of significant new features for Grails users:


  • Dependency Resolution DSL: Based on Ivy, Grails users now have full control over JAR dependencies including those inherited from the framework and any installed plugins.

  • Better Spring Integration: As well as supporting component scanning, Grails now allows you to implement controllers as regular MVC @Controller instances.

  • Named Query Support: It is now possible to define named, reusable criteria queries in GORM that can be combined with regular dynamic finders making querying a lot more DRY

  • Improved Performance & Memory Consumption: The performance of Grails’ view layer (GSP) has been significantly improved resulting in up to 2-3 times throughput. We’ve also improved Grails’ memory consumption and the need for additional PermGen by implementing precompilation of GSP views.

  • Named URL Mappings: It is now possible to name an individual URL mapping which allows you to create more explicit and expressive links inside GSPs

  • Refactored Testing Infrastructure: Grails’ testing infrastructure is now completely pluggable to new providers. The default JUnit provider is still present, but new testing providers can be implemented that can be run in specific phases (such as ‘unit’, ‘integration’ and ‘functional’ phases). There is already a Spock plugin that takes advantage of this new infrastructure, allowing BDD style testing.

  • Pluggable Web Containers: Grails now allows different development time containers to be installed and plugins for both Tomcat and Jetty are available.

Read more...

Bundlor 1.0.0.RC1 Available

I’m very excited to announce that Bundlor 1.0.0.RC1 is now available. There have been numerous changes to Bundlor since the M6 release including additions to detection and warning criteria as well as improvements to the ANT and Maven configurations.

This milestone marks feature-complete status for the 1.0.0 release. Baring any major issues, this candidate will be released as 1.0.0.RELEASE shortly.

Detection and Warning Criteria

Bundlor now detects Java types in the following locations:

Read more...

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. It provides a code-centric way of declaring Spring bean definitions using nothing more than methods and annotations. You might call it Plain Old Configuration* :) This means that for simple situations, no XML will be required!

Read more...

Groovy 1.7 released

The Groovy development team and SpringSource are very pleased to announce the final release of Groovy 1.7, the most popular and successful dynamic language for the JVM! After two betas and two release candidates, we’re are happy to deliver this new and very important milestone to our ever-growing user base.

Over the years, the Groovy project has managed to grow a community, but not only that, a very rich and active ecosystem of Groovy-related projects: the Grails web stack, the Griffon swing application framework, the Gant and Gradle build solutions, the Gaelyk lightweight toolkit for Google App Engine, the Gpars parallel system, the Spock testing frameworks and the GMock mocking library, the CodeNarc and GMetrics quality tools, and many more! With all these initiatives, the world is even groovier and we’re thankful these projects have helped us shape what Groovy is today.

Read more...

MVC Simplifications in Spring 3.0

As Juergen and Arjen have mentioned, Java developers everywhere have a smooth upgrade with Spring 3.0. Now that Spring 3 is out, I’d like to take you through some of the new MVC features you may not know about. I hope you find these features useful and can start putting them to work in your web applications immediately.

This is also the start of a series on “Spring 3 Simplifications”, so expect more posts like these in the coming days and weeks.

Configuration Simplification

Spring 3 introduces a mvc namespace that greatly simplifies Spring MVC setup. Along with other enhancements, it has never been easier to get Spring web applications up and running. This can be illustrated by the mvc-basic sample, which I will now walk you through.

Read more...

dm Server 2.0 RC1 released

Hot on the heels of Spring 3.0 and Spring DM 1.2.1, I’m delighted to announce that dm Server 2.0 RC1 is now available. RC1 is feature complete and, barring any major problems being found, will be the final 2.0 release early in the new year. So, please download the RC and give us your feedback: it’s your last chance to shape the 2.0 release!

If you’re interested in what’s changed since M6, please take a look at the release notes.

Thank you for all of the feedback that we’ve had during the development of 2.0. Please keep it coming as we move towards the final release.

Read more...

Spring Framework 3.0 goes GA

After a long ride, it is my pleasure to announce that Spring 3.0 GA (.RELEASE) is finally available (download page)! All of SpringSource is celebrating - join the party :-)

For some very recent news, Spring 3.0 GA is compatible with Java EE 6 final in terms of runtime environments now (e.g. on GlassFish v3 as released last week) and supports JPA 2.0 final already (e.g. using EclipseLink 2.0). We also support the newly introduced @ManagedBean (JSR-250 v1.1) annotation for component scanning now, which nicely complements our @Inject (JSR-330) support for annotation-driven dependency injection.

Read more...