This Week in Spring
Another week, another great allotment of new content that - as usual - draws from the community and from SpringSource. The enthusiasm for CloudFoundry continues unabated this week, with some interesting content in this week's roundup. For more content on CloudFoundry, you might consult the CloudFoundry.com and CloudFoundry.org sites. In particular, the slides from the Cloud user group held the day after the announcement are available here.
- Oliver Gierke has posted a blog on Advanced Spring Data JPA which explains how to use the features in the Spring Data JPA project that elevate the art of JPA programming, like the integration of the QueryDSL library. This post - and the library - speak to the ongoing, first-class support in the Spring frameworks for all data access technologies, be they RDBMS, NoSQL, or anything else.
Peter Ledbrook, Grails Developer Advocate, has recently expanded on his original blog on using Grails and CloudFoundry.
This blog provides a detailed look at using Grails' GORM support with the various data stores available on CloudFoundry. Check it out!
- Alex Popescu's MyNoSQL portal, MyNoSQL, has some interesting comments about the NoSQL options supported in CloudFoundry. He comments that "From a storage perspective, Cloud Foundry is encouraging polyglot persistence right from the start offering access to a relational database (MySQL), a super-fast smart key-value store (Redis), and a popular document database (MongoDB)."
This post - and indeed the entire site - is a very valuable resource for CloudFoundry users that want to exploit the NoSQL options, but don't understand the use cases yet. There's a lot of good content on both MongoDB and Redis, for example.
Mark Thomas, Apache Tomcat 7 release manager and engineer, has written up a post on Apache Tomcat 7's session fixation protection security feature on the TomcatExpert.com website. Keeping on top of the latest Tomcat security features is important if you are, like the majority of developers, using Tomcat (or hardened, ops-friendly derivatives like SpringSource's tcServer) as a production server for your Java (and often Spring) applications. Additionally, Tomcat's bundled with several application servers. Either way, knowing about Tomcat's industry-leading features can only help.
- Costin Leau has announced the Spring GemFire 1.0.1 release, which incorporates bug fixes and promotes stability.
- Just a reminder to our European community members, the S2G Forum Series will be held in Amsterdam (May 26th) and London (May 31st). There will be tons of great sessions about Spring, Groovy and Grails as well as talks focused specifically on CloudFoundry, Tomcat and Gemfire so be sure to register for the event closest to you.
- The Eclipse Virgo 2.1.1 and SpringSource dm Server 2.0.5 projects have just been released.
Jon Brisbin has recently blogged about integrating RabbitMQ with Riak to build a highly scalable eventing model.
- Gordon Dickens is at it again! He's written a blog post, Don't Use the
JmsTemplate in Spring! Once you get past the headline and read the post, I think you'll agree it might be better titled "Don't Use the
JmsTemplate in Spring, Use Spring Integration!"
It's a great post and it captures the thought trail that leads people to Spring Integration: they like the simplicity and power of Spring's
JmsTemplate, but want to enjoy the same programming paradigm in other challenges.
- What's in My Spring Context? Gordon Dickens writes what amounts to a conversation between him and the Spring ApplicationContext - the keeper of all beans. The Spring ApplicationContext is very powerful, and can be interrogated to understand the structure and shape of your object graph. Great post, with easy-to-use code!
ThoughtWorks employee Mark Needham has written HTML encoding/escaping with StringTemplate and Spring MVC, which provides a recipe to write a custom view resolver in Spring MVC. Spring MVC's strikes the nearly perfect balance between convenience and power in this case. Spring MVC, of course, has several good, pre-provided options for view resolution, but is flexible enough to support new ones.
- David Salter has written a post introducing deployment of a database-centric application to CloudFoundry. His example includes deployment tips and information on how to use Spring 3.1 profiles to let the application use the correct, environment-specific
DataSource. Nice article!
- David Salter has written a follow up blog on migrating older Spring MVC
Controller-hierarchy based applications to the annotation-centric model introduced in Spring MVC 2.5, four years ago. In this blog, he talks about converting form-processing controllers, of type
FormController. Check it out! A fascinating read and it's nice to see how much configuration and Java code just falls away in the new programming paradigm!
- Nicolas Frankel has written about his experiences using the CloudFoundry public cloud and project. He writes in terms of a developer that has used the Google App Engine, so it's a particularly compelling story with lots of details.
Welcome back to This Week in Spring. The enthusiasm for last week's Cloud Foundry announcement was outstanding and appears to be getting stronger! People all over the world have flooded the SpringSource and CloudFoundry forums, downloads pages and source repositories. What unprecedented activity!
Many of the different, powerful technologies coming out of SpringSource recently have been leading up to the Cloud Foundry release so I invite you to review some of the exciting stuff that's come out in the last few months that have become even more interesting in terms of the cloud and Cloud Foundry: Spring Gemfire, Spring AMQP,
Spring 3.1 profiles,
Spring 3.1 caching abstraction, Spring Data, Spring Integration support for NoSQL, and Spring Hadoop, vFabric Hyperic, vFabric RabbitMQ, and vFabric GemFire. Of course, for all of these technologies - the first, and best, tooling and development experience continues to be SpringSource Tool Suite and Spring Roo.
Ok, onward to this week's review. So much exciting stuff, so little time!
- Christian Dupuis has just written up a detailed blog on using STS to deploy to Cloud Foundry.
- Spring Roo 1.1.3, featuring
Cloud Foundry support, shell enhancements, and improved support for composite primary keys - among other things - has been released.
- DZone has published a Spring Roo RefCard by the Spring Roo team's Stefan Schmidt. This RefCard's a fantastic way to get going quickly with Spring Roo. Spring Roo, it could be argued, is ideally suited to the RefCard format, because 6 pages is more than enough to get real results with Spring Roo!
Spring Data Graph 1.0 with Neo4J support has been released! The Spring Data project - as you know - supports various NoSQL technologies and - wherever possible - promotes polyglot persistence. Polyglot persistence is all about augmenting existing applications with more specialized, sophisticated data models wherever possible and appropriate. The Spring Data Graph project delivers on this vision, providing a natural way to map domain objects to both JPA-supported data stores and the Neo4j graph database. Beyond this, of course, there's support for all the goodies you've come to expect from the strong Spring APIs, including a convenient, idiomatic
Neo4jTemplate, JSR-303 (Bean validation support), and much more. Check it out! The Neo4J team also have a sibling blog post, here.
- The Spring Data Graph Neo4 announcement blogs, linked above, is a fine place to get started. If you want even more, then you're encouraged to register, and watch, tomorrow's webinar, Getting Started with Spring Data Graph.
- InfoQ has posted a new video from SpringOne 2GX 2010 providing an introduction to Spring.NET, comparing it with Spring for Java, and explaining how Java-.NET interoperability works.
The Spring.NET REST client, version 1.0.0., is now available. This marks the fourth .NET release in the last two weeks! Way to go, guys!
- The JTeam group has announced the 1.0-final version of the Axon framework, a framework that builds on top of Spring and Spring Integration to support the command-query responsibility segmentation (CQRS) design pattern.
Using Windows? Want to run Cloud Foundry locally? (and who wouldn't?) Check out this blog compiling research and proferring a solution to run Cloud Foundry on Windows, called The World is Your Oyster: Installing and Using Cloud Foundry on Windows.
- One of Spring's strengths has always been, and will always be, its incredible portability. Andy Hulstkamp describes using Spring MVC, SpringSource Tool Suite, and Google App Engine, and Flex. Check it out.
Java.net has a write up on using Spring AOP in terms of how you would use it with Oracle's Eclipse tooling. This is a worthy read for those using that technology and unable to migrate. NB: the Spring 2.5.6 technology covered is not up to date with current releases (Spring 3.0 was released in October, 2009, and 2.5.6 long before that!), but it's still a fascinating read since Spring AOP is backwards compatible and it speaks to a technology that a lot of people are still using.
- David Salter has written about how to convert an older Spring MVC controller implementation into a Controller using the annotation model introduced in Spring MVC 2.5. Check this out for a brief (the brevity reflects how simple the migration is, not the sophistication of the technology :-D ) look at the process. Naturally, old-style Spring controllers still work in Spring MVC with no problems. Users are encouraged to migrate as possible to exploit new features, however.
This year is moving along at a very quick clip!
We've already seen a torrent of new and exciting releases for Spring users and just today news of perhaps the most exciting thing yet went out. If you didn't get it because you aren't, for example, a registered SpringSource Tool Suite user, then here are the salient bits:
Next Tuesday - April 12th - VMware is hosting a webinar - "Spring into the cloud!" - with the provocative explanation, "Spring has already simplified enterprise Java development. Next up is cloud development."
The webinar will be presented for both Europe and North America timezones. See this page for details, and don't forget to register!
Enough looking into the oh-so-exciting future, let's look at the exciting stuff that's happened in the last week!
- The Spring Data project's been hopping even more than usual this last week! First, an update to the Spring Data JDBC Extensions project, now at 1.0.0.M1, with specific support for the Oracle Database. The new release includes RAC "Fast Connection Failover," Streams Advanced Queuing, native XML types, and a custom DataSource connection preparer. Lots of powerful features in a nice, easy-to-use package.
See the release announcement and the project home page for more details.
- The Spring AMQP project has come a long way very quickly. The latest release marks the first RC (release candidate) leading up to 1.0 GA. Spring AMQP is the Spring integration layer for Java clients and the AMQP protocol. Most people will use this with SpringSource's own RabbitMQ message broker, the most popular, powerful message broker available today.
Check out the release announcement here, and check out the project home page for more information.
- Speaking of AMQP, and highly scalable, cloud-friendly RabbitMQ deployments (wait, weren't we talking about that? Well, we should've been! RabbitMQ is the most widely used Message broker - even in cloud environments like Amazon Web Services where there are numerous alternatives like Amazon's own SQS service), Helena Edelson wrote up a fantastic review of RabbitMQ topologies for performance and scalability.
The documentation has always been very good, but it can be difficult sometimes to pull together all the common idioms and patterns. This post provides the guided tour to scaling RabbitMQ that I certainly wish I'd had a year ago! Definitely worth a read and a bookmark.
Want a look at what's coming in Spring Integration? The nice part about open-source is you never need wonder for too long. In the Spring Integration project, adapters and extra modules start life in the sandbox. Typically, these can be used with existing versions of Spring Integration, and don't always track the latest and greatest Spring Integration release. Two new modules that I've really enjoyed working with the last few weeks? Spring Integration MongoDB and Spring Integration Redis. These two modules allow you to make use of these heavy hitting choices in the NoSQL space in a way that's both practical and convenient, as an add-on to your existing Spring Integration solution. They both support message storage using the backend store, and the Redis one also provides Spring Integration-based publish/subscribe support on top of Redis' built-in messaging support! While you're there, create an account and create project clones and feedback if you see anything unaccounted for in your requirements. The MongoDB and Redis support also dovetail nicely with the Spring Integration GemFire support, and the Spring Integration AMQP support. These options give your applications all the flexibility and performance they need to meet even the most demanding of requirements, on your desktop or in the cloud or beyond!
The Spring Data Graph project's support for Neo4j has just been updated to version 1.0.0.RC1. The new version includes a reworked API for queries (replacing finders with composable spring-data-commons repositories), new REST-client support for Neo4J-REST, numerous performance improvements, updates to the
Neo4jTemplate, documentation updates and small top level API refactorings.
Check it out and read the full release announcement here and don't forget to register for the upcoming webinar.
- Matt Raible recently updated some of his AppFuse wiki entry on using Spring MVC to reflect the latest releases of Spring and AppFuse itself. Check it out for an updated oldie-but-a-goodie!
Sivaprasadreddy Katamreddy has published a blog on using Spring MVC 3 and Hibernate to build a CRUD Sample Application. The blog post goes to great lengths and presents every code artifact in detail, including the SQL statements and JPA entity classes! Nice work, and a useful guide for those looking to get started. Readers may also appreciate the Green Beans post, "Getting Started with Spring in your Service Tier," which speaks to some of the same goals as this excellent post.
Well, that was a good week! Lots of good stuff coming out of both the community and of course out of SpringSource itself.
This week reminded I was reminded that the Spring framework usually has something that could go a long way in simplifying or alleviating a challenge at hand if you just know where to look. Often, I'll check the SpringSource Forums, the JIRA instance, and - if I'm sufficiently convinced it's not already resolved or accounted for in the forums or in JIRA - in the StackOverflow category for Spring. SpringSource engineers try to monitor both the forums and - less ocassionally - the StackOverflow forums, as well. Additionally, I like to learn as I go - it's a "cinch by the inch, hard by the yard," as my father always says. Ever since the SpringSource YouTube channel came online a few weeks ago, I've been taking advantage of it - letting a presentation play in the background while I work - to learn new and interesting things.
Mark Fisher and David Syer's talk from SpringOne2GX last October is up at InfoQ.com. The talk introduces Spring as the programming model for building concurrent, distributed applications.
- Last week, your humble correspondant was bemoaning the lack of a good, concise option for type-safe criteria queries that was well integrated with my API stack. About an hour later, as if by magic or some kind of sorcery, Spring Data JPA lead Oliver Gierke announced Spring Data JPA 1.0.0.M2, which features - among other things - (tada!) a type safe criteria query option called QueryDSL. So, problem solved! The lesson here is that it's shocking how many features the Spring projects have if you just know where to look! :-)
RabbitMQ 2.4, the latest version of the popular open-source AMQP message broker, is now available featuring a battery of enhancements including updates to the Java and .NET clients.
The latest release of the Spring Data project featuring support for Neo4j has been released. No, this is not a repeat from last week - it really is coming along quite nicely, and quickly! The new version includes many new features and tracks the latest version of Neo4j, itself. Neo4j is one of the many new specialized datastores available to developers today. Neo4j models data as relationships and nodes. It's optimized for fast node traversal, as in a Facebook friend-graph, for example.
Additionally, SpringSource is producing a webinar on Spring Data (and specifically, the Spring Data Graph subprojct encompassing the Neo4j support) on April 20th. The presentation will be presented for both North America and for Europe. Register now!
SpringSource Tool Suite lead Martin Lippert blogged about
early access support for a SpringSource Tool Suite build tracking the latest Eclipse distribution - Indigo (specifically, version 3.7, M6a, for Java EE developers, for those not keeping score).
This is an early access version of STS, and users are encouraged to try it out and feedback on the STS JIRA.
Using the Eclipse Virgo project or SpringSource dm Server? SpringSource would like to know about it in this quick survey which will help in planning.
- Spring is all about choice. While the Spring framework provides first class support for both SOAP-based, contract-first web services with Spring WS and for RESTful web services in Spring core, it also enjoys the unique position of being the easiest approach to using alterntive APIs like JAX-WS and JAX-RS because all of the major implementations of those standards also bundle Spring integrations. In this post, blogger Mkyong introduces using Spring and JAX-WS together.
- Want to use JSR303-based validation control groups and don't want to use the 3.1 milestones of Spring MVC?
This blog post explores an alternative in Spring 3.0.
Another great week - lots of new (and novel!) types of content and indeed, new sources of new content, too!
SpringSource unveiled the new SpringSource YouTube channel. This channel features exciting technical content on the SpringSource technologies, and should be your first destination for new content and for content that you might've missed the first time around. Check it out today! Personally, I find that this channel is fantastic on a big screen TV that supports a browser or YouTube (Google TV/Apple TV/slingbox/etc.) or on a peripheral screen - like a second laptop or second monitor. You can also listen to it on a portable device like an iPhone in the car, on the commute.
- ...Speaking of the YouTube channel, the content and slides of last week's webinar -
Getting Started with Spring and STS - is available for those that missed it. Juergen Hoeller, lead of the Spring framework, introduced the exciting next generation (3.1) of the Spring framework a few weeks ago in a live webinar, which is also available on the SpringSource YouTube channel!
- Martin Lippert has announced the latest release of the SpringSource Tool Suite, version 2.6.0. The new release is packed with new features, and tracks the latest versions of various projects (Spring Roo 1.1..2, Eclipse Helios SR2, Groovy 1.7.8, Grails 1.3.7). It included updated support and performance for both Spring Roo and Groovy on Grails, a graphical editor for Spring Web Flow, and new support for content assist, quick fixes and refactorings for Spring annotations (
Ramnivas Laddad pointed This Week in Spring to this very innovative Chrome browser plugin. To use it, type "spring" in the omnibox bar (the search/address bar) followed by a space, and then the nane of the class that you are searching for. It'll automatically bring up candidate results linked to the documentation! Fantastic, and handy! (NB: we tested this with the just-released Chrome 10, though it no doubt works with at least Chrome 9.)
- InfoQ has the video of Mark Pollack's and Chris Richardson's amazing introduction to Spring Data from the SpringOne2GX event last year in Chicago. Spring Data is a great way to take advantage of these new, powerful datastore options (sometimes called "NoSQL" stores) in a way that's familiar, and idiomatic for Spring users. Check it out!
- The latest release of the Spring Data project featuring support for Neo4j has been released. The new version includes many new features and tracks the latest version of Neo4j, itself. Neo4j is one of the many new specialized datastores available to developers today. Neo4j models data as relationships and nodes. It's optimized for fast node traversal, as in a Facebook friend-graph, for example.
Additionally, SpringSource is producing a webinar on Spring Data (and specifically, the Spring Data Graph subprojct encompassing the Neo4j support) on April 20th. The presentation will be presented for both North America and for Europe. Register now!
The Spring framework helps you build the best applications. Spring Social builds on that promise and lets you integrate your application with your users. The JTeam group is at it again, this time with an interesting updated look at Spring Social complete with source code and a sample application. Check it out!
Spring MVC provides support for many different types of views, including RESTful payloads, Velocity templates, JSPs, and Tiles-based views. This blog post explains how to integrate Spring MVC with Tiles
- Ken Rimple from Chariot Solutions has recorded a screencast on the newest member of the SpringSource family, Wavemaker.
- More people are using the Spring framework now than ever before, and a consequence of that that growth is newer, specialized support for Spring in various tools. One UML toolmaker - Architexa - talks about their enhanced support for the Spring framework in their Eclipse-based product.
Check out this blog for more.
- Ashish Jain provides an interesting perspective on Spring 3.1's new caching support.
Ashish's chosen to simplify his software stack (by removing Hibernate, and instead using straight JDBC through the Spring framework's
JdbcTemplate, a great choice!), but was worried about having to give up Hibernate's declarative, 2nd level caching. With the cache support in Spring 3.1, he can have his cake and eat it too, regardless of the underlying data access technology!
- Stuck on JBoss AS? Still need to be productive, and need better security support in your application? This blog walks through setting up Spring Security 3 on JBoss. Check it out.
Another great week for good, deep content. Most of the items on the list this week are best enjoyed with a nice cup of coffee and a nice, comfy chair. :-) Enjoy!
SpringSource will be presenting a free webinar - Getting Started with Spring and SpringSource Tool Suite - this Thursday.
The presentation will give experienced folks a look at some of the new methodologies, and will give newcomers to the technology a chance to get started with it and move quickly into productive application development. Additionally, attendees will have a chance to ask questions of the presenter and panelists. The webinar will be presented twice, once for Europe, and once for North America. I hope to see you there!
- Spring MVC lead Keith Donald's video introducing Spring MVC 3 from SpringOne2GX is up on InfoQ.com. Great video with lots of information in just 90 short minutes. Check it out!
- Craig Walls posts this week on Extending Spring Social's Service Provider Framework, this time introducing an example integration with the Netflix API. Very informative post, and inspiring - I couldn't help but have exciting ideas for applications pop into my head when I was reading it.
- This VMware whitepaper provides a pretty good look at the migrating from a Java EE application server to the leaner, more powerful SpringSource tcServer. It makes for some fascinating reading - and highlights some very interesting information. Check it out!
- The whitepaper exploring a migration from a Java EE application to tcServer has a companion in this VMware whitepaper, that talks about the migration from Tomcat to tcServer. Pretty exciting!
- This blog post introduces high thoroughput, asynchronous Servlet 3.0 applications. The post is useful for people using Tomcat or tcServer, particularly, because they represent the largest Servlet 3.0-compatible install base, by far.
This week has seen yet another flurry of exciting new releases and updates, great community content and the exciting announcement welcoming WaveMaker to the SpringSource family.
Rod Johnson announced the acquisition of WaveMaker today in the SpringSource blog. WaveMaker is a widely used graphical tool that enables non-expert developers to build web applications quickly. From the post: "While WaveMaker is already part of the Spring ecosystem, it will now become an integral part of the Spring family and VMware's cloud strategy. All of WaveMaker's staff will be joining VMware." Exciting news! Be sure to check out the post for all the details.
Craig Walls announced the M2 of the Spring Social project last week and this week provided a great look at the Social Service Provider framework in Spring Social. Exciting stuff, and any that wishes to interoperate with this framework - either because you want to consume a social network's API or you want to provide a Spring Social binding for your network's API - should definitely read this blog
- The Tomcat Expert community just announced that Tomcat 7.0.10 has been released. The new update includes several bug fixes and security fixes, as well as a few cool features.
- In the second installment of a blog tutorial introducing Spring Web Services, blogger "panbhatt" introduces JAXB and the Spring OXML (object-to-XML) marhsalling framework.
- Ravindra Rawat introduces a
cool movie-recommendation application using Spring Data and Redis, complete with sample code on Github! This is very cool! If you're at all curious as to the power of some of the NoSQL solutions, then usable, relatable everyday applications like this one ought to assuage your curiosity!
- Chad Lung at the Giant Flying Saucer blog
introduces a 5 minute tutorial to starting a Spring MVC project by using the free SpringSource Tool Suite. I like this blog, but I have one small complaint: I followed his steps and it only took 3 minutes! :-)
- Developer.com had a great introduction to all the new features in Spring WebServices 2.0. It's one thing to make a claim - in this case that Spring WS is the "Best Java Stack for SOAP-based Web Services" - but this article also provdes it
while providing a good introduction to Spring Web Services, in general. Nice job!
This post demonstrates
how to integrate a Spring Roo Vaadin form into Magnolia CMS. Vaadin is a web framework that takes the GWT programming paradigm to its logical extreme, and can make a very compelling alternative to traditional, component-centric, server-side frameworks like JSF.
- While I was wading through all the Spring Data content for this week's roundup, I discovered, in a roundabout way, that that Emil Eifrém's amazing talk introducing Spring Data from the Oredev conference last year was up! Emil Eifrém is the CEO of Neo Technology, and the founder of the Neo4j graph database project.
- Moez Ben Rhouma, who also previously demonstrated integrating Spring Security with ExtJS,
demonstrates how to setup Spring Security 3 with Wicket. Pretty cool!
- Want a look inside Apress' Spring Persistence with Hibernate book? Read this book review
This week has seen yet another flurry of exciting new releases and updates and great community content.
Hold on to your hats!
Let's get right to it.
- Spring Roo 1.1.2 has been released. This new release contains over 200 enhancements, new features and fixes since the 1.1.1 release last month. Some of the highlights include enhanced tool usability, persistence enhancements, GWT and Spring MVC enhancements, and library upgrades.
Martin Lippet has just announced the 2.5.2.SR1 and 2.6.0.M2 releases of SpringSource Tool Suite.
The 2.5.2.SR1 "refresh" has updated support for Groovy 1.7.8, Grails 1.3.7, an update to Eclipse Helios SR2 (3.2.6), and the just-released Spring Roo 1.1.2. The 2.6.0.M2 mileston also includes a Roo plugin manager, improved support for
@RequestMapping, and tons of improvements to the Groovy and Grails tooling.
- Martin Lippet has also put together information on the oft-asked and newly answered question: how do
I contribute custom Project Templates in SpringSource Tool Suite?
Have a cool project setup recipe and want to codify it and share it easily with other STS users in your company, or indeed, the community? Now you can!
- Continuing the series introducing Spring 3.1, Costin Leau wrote up an introduction to the caching abstraction that will let you integrate a cache like GemFire, Ehcache, basic JDK ConcurrentMap-based caches, and numerous other caches that implement the SPI with your application.
A new entry in the Green Beans series is up, this one on Getting Started with Spring Integration. Check it out to learn all about how you can use Spring to solve your integration problems with Spring Integration
- Spring Web Flow 2.3.0 has been released. The new release features many new features: JSR 303 bean validation support, embedded flows (ie, you might imagine a modal dialog on a page with its own flow entirely unto itself - the enclosing page need not be refreshed so that the embedded flowa can continue through Ajax.), automatic propagation of flow-managed PersistenceContext to sub-flows, support for Portlet 2.0 resource requests, and much more.
- Spring Social 1.0.0.M2 has been released.
The new milestone is packed with new features along several themes. The new release splits apart the concepts of connection and authentication from the APIs for the various software-as-a-service providers, so now you can leverage both peices together, or independantly. The new release also expands the initial support for Saas offerings, including Github. Check it out and provide feedback!
- Speaking of Spring Social, Craig Walls - Spring Social project lead - did a talk on developing social-ready web applications at SpringOne2GX 2010 last October. You can watch it on InfoQ.com
Blogger Matt Raible has written up a post exploring Ajax authentication using Spring Security, HTTPS and jQuery. Very cool. and detailed! Check it out!
- The latest release of the Spring Data Graph project, version 1.0.0.M3, supporting Neo4j has just been released. This release brings with it many new features, including an update to Neo4j-1.3.M03, AspectJ 1.6.11.M2, explicit support for detachable entities, bean vaidation, Java config simplifications, a full-featured Neo4jTemplate, and much more!
Eclipse Virgo, 3.0.0.M2, is now available for download! The new release features bug fixes on top of a substantial collection of changes from the
recent M01 milestone.
- Want to work with RESTful services, but don't want the verbose XML payload slowing down your communication? REST is just an application of HTTP, and HTTP provides us with an amazing arsenal of tried and true tools and techniques to scale HTTP based applications. One common approach is to use GZip compression. In this post, blogger Stephan Oudmaijer introduces an approach for using Spring's
RestTemplate with GZIP compressed payloads to support just that use case!
- Sivaprasadreddy Katamreddy is at it again, this time with a good look at how to write a Spring / Hibernate application with no XML leveraging the Spring 3.0 Java configuration model. Always handy to have a recipe like this book marked for next time!
- Ever needed to interface with LDAP from Java? Search no further than the Spring LDAP project, which provides a clean, comprehensive facility for just that. This post on using Active Directory (AD Windows
Server 2008) from Java and Spring LDAP provides a great introduction.
- There's always some great new use of the Java-based configuration mechanism in Spring 3.0. This time, blogger Jason Stillwell writes about how to
use Spring Java configuration to handle
injection in a
public static void main() method.
What a week! Lots of good, foundational content available this week from, and for, the community.
Let's get right to it.
- Rossen Stoyanchev continues the whirlwind introduction to the new features in Spring 3.1, this time with a look at the MVC namespace and @Configuration-based improvements.
Chris Beams blogged about the upcoming FeatureSpecification support in Spring 3.1 Feature Specifications provide the same features as the XML namespace infrastructure elements, like <tx:annotation-driven>, in a Java configuration-centric way. This is a very powerful feature, and this blog post is the best way to get started.
SpringSource Tool Suite lead Christian Dupuis - tweets that users can now download STS without submitting to the registration form. Very cool!
- Can't get enough Spring?
Check out Spring on your favorite social network!
Glyn Normington has just announced the Eclipse Virgo 3.0.0.M01 release is now available for download. The new version
features tighter integration with the Eclipse stack, including the Eclipse Virgo Jetty server. Additionally it features tighter integration with Equinox.
Last week, the Spring Integration team released 2.0.3 of the Spring Integration framework. Lots of good fixes and features in this release. Additionally, it's a minimum version to work with the latest Spring BlazeDS release, so check it out now.
- Dr. Mark Lui and others at Shopzilla have put together a post on their use of the Spring Integration framework at Shopzilla and how to use it. Pretty cool, guys!
- So excited was Nicolas Labrot about the prospect
of using Grails as a view in Spring MVC after seeing it announced
in the upcoming Spring 3.1 features that he went and implemented a prototype of the feature. Check it out! Looks promising.
- Ken Rimple, co-author of the upcoming Spring Roo in Action has written up an
introduction to the Spring Container's support for BeanPostProcessors, which allow you to tailor the way beans in the context are registered. This is a very good introduction to one of the Spring container's most powerful features. Check it out!
- The Java Code Geeks are at it again, this time with a look at their view domain-driven design using Spring and AspectJ.
This last week has seen a record number of... well, records, if nothing else!
First, Juergen Hoeller - Spring project lead and all around nice guy - gave a webinar introducing the new features in Spring 3.1 to record attendance numbers.
Then, as if that weren't enough, the next day the first milestone of Spring 3.1 was released to record numbers of downloads. That would've been enough. I don't know about you, but I could've stopped right there. Then, over the course of the last week we've seen what I imagine is a record number of new releases from other Spring projects! Finally, yesterday, no doubt in reaction to all this other record activity, we saw the largest record number of people hit the SpringSource blog yet!
In summary, Spring 3.1 milestone mania, numerous new projects, and as always a healthy dose of community-awesomeness (go team!)
- Hot on the heels of Juergen's Spring 3.1 webinar, Chris Beams got the ball rolling on the first three of many posts on the numerous new features in Spring 3.1.
The first post introduces Spring 3.1 M1, generally.
The second post introduces Spring 3.1's "profiles," which let you partition your beans along environment-specific lines with Environments. The third post introduces the Unified Property Management capabilities of the
Matt Raible has put together a good introduction to extension-less URLs in
Spring MVC, Tapestry 5, Struts 2 and JSF on JavaLobby. Check it out!
- The first Spring Security 3.1 release candidate has been released, featuring numerous fixes and updates since the last milestone.
- Jeremy Grelle announced the 1.5.0 RC2 release of the Spring BlazeDS project - lots of exciting new features (including compatibility with the recently released Spring Integration 2.0)
- Christophe Coenraets provides a quick introduction to integrating Spring and Flex using the Spring BlazeDS project! A great introduction for even greater technologies!
- The hits keep on coming out of the Spring Data project - Thomas Risberg just announced the first milestone of the Spring Data Document (1.0.0.M1) sub project's support for MongoDB.
- Oliver Gierke just announced the first milestone of the Spring Data JPA sub project. The Spring Data JPA project - formerly called the Hades project - provides a conventions-centric approach to build JPA-based repositories to access data with a minimum of fuss.
- Costin Leau also announced the second milestone of the Spring Data Key Value sub project, encompassing support for the Riak and Redis NoSQL stores.
For the many Python users out there, Greg Turnquist just announced
the new, 1.2.0 FINAL release of Spring Python, the framework that brings idiomatic Python ("Pythonic") dependency injection and support - in the spirit of the Spring framework - to the Python language, has just been released! Check it out!
- Chris Beams' SpringOne2GX 2010 introduction to the new configuration options in Spring 3.1 is now available on InfoQ.com
The Spring Android project, version 1.0.0.M2, has just been released.
Gordon Dickens is at it again, this time with a review of the cool features coming in Spring 3.1.
- The Java Code Geeks have put together
a quick tutorial on Spring MVC
- This post provides a good introduction
to how to build an application using Spring, Hibernate and SpringSource Tool Suite . It's a good read for those getting started with Spring's ORM support.