This Week in Spring
Welcome back to another installation of This week in Spring!.
There's been a flurry of activity this week at SpringSource as we begin the final leg of the march to SpringOne!
We're just a week away, and the show is shaping up every day to be the best show ever! We hope to see you there! Don't miss the day 1 and 2 keynotes from Adrian Colyer, Jurgen Hoeller, Mark Pollack, Graeme Rocher, as well as exciting sessions we've highlighted on SpringSource.org in the last 4 weeks: Going Async - Push Notifications, Client-Side UI Smackdown, Decomposing Applications for Deployability and Scalability, How to build Big Data Pipelines for Hadoop using OSS.
- Alvin J Rayes put together a nice post on using Spring MVC 3 with Apache Tiles, the templating engine.
- Tool Suites lead Martin Lippert has announced that Spring Tool Suite and Groovy/Grails Tool Suite 3.1.0 have been released! Nice job, Martin!
- Spring Security lead Rob Winch has announced that Spring Security 2.0.8, 3.0.8, and 3.1.3 have been released! This brings the total number of outstanding bugs down to 0. Excellent work, Rob!
- Have you been following the exciting new blogs from the Spring Integration team on the upcoming Spring Integration 2.2 release's new features?
Gary Russell has put together a nice blog on the new support for retry in Spring Integration. The support for retry capabilities originally comes from Spring Batch's support for retrying
operations, and was then factored out to the Spring Retry project. Now, you can take advantage of it in Spring Integration flows!
- Gunnar Hillert has a nice post on how to use the new adapters in Spring Integration 2.2 to work with JPA.
- Learning OAuth? Want to know about the scenarios in which OAuth can help better secure your RESTful APIs? Join Spring ninja Dr. David Syer for his article introducing OAuth, in terms of how Cloud Foundry uses it for the UAA service.
- Krishna Prasad has put together some very cool posts recently. I liked his post on connecting systems using publish-subscribe through Spring Integration and vFabric GemFire. His next post, on
responsive web design using Twitter and Spring MVC , is brilliant. Really well done, Krishna!
- vFabric ninja Al Sargent has a quick field report from JavaOne, and the inexorable march towards simplicity.
- The folks at Broadleaf Commerce wrote up a nice article on integrating Spring Social with Broadleaf Commerce
The Spring Social community continues to contribute extensions to Spring Social. Most recently, Jeffrey Williams has started an extension for integrating with Intuit's Quickbooks Online!
Spring Social connects you to your social providers and all manner of other OAuth-secured services.
Are you guys using Twitter? Be sure to check out this list of SpringSource people represented on Twitter.
Welcome to another installation of This Week in Spring!
This week I'm in Bloomington-Normal, Illinois talking to StateFarm about Spring Projects: MVC, REST, Mobile, and Android. The developers here are code ninjas. Listening to their internal talks over the course of the day has been eye opening, to say the least. Don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered, now's the time! Oh, and don't forget, if you're in the United States, today is national cheeseburger day! So... bon appetit!
- Chris Beams has announced the availability of Spring Framework 3.2 M2, which features many new features including improved
TestContext support, Spring MVC improvements, asynchronous
@Controllers, and lots of bug-fixes and improvements.
- This month's SpringSource webinar is coming fast - Spring Security with Rob Winch. Be sure to register now!
- Martin Lippert has announced the availability of the 3.1.0.M1 update for the Spring and Grails Tool Suites.
The new release includes integrations built on top of Eclipse 3.8 and Eclipse 4.2, updated support for Mylyn 3.8.1, Maven support for Grails projects, and Mac OSX 10.8's Gatekeeper support.
- Mark Fisher's epic tome Spring Integration in Action is available!
- Broadleaf Commerce published a great blog post about why their project continues to choose Spring over Java EE.
- Jonathan Brisbin has announced the availability of the Spring Data REST project, 1.0.0.RC3, which includes a significant number of bug fixes, adds improved JSON representation, better integration of Jackson user-defined
Modules, and support for the Spring HATEOAS project.
- The TomcatExpert portal has announced the availability of the Apache Tomcat Maven Plugin, version 2.0, which supports deploying to - and embedding instances of - Apache Tomcat from the Maven build tool.
Spring Data ninja Oliver Gierke tweeted the availability of JAX-RS support in Spring HATEOAS. Spring HATEOAS, named for the pattern ("HTTP-as-the-engine-of-application-state"), makes it dead simple to build links to other RESTful resources based on the classes that host those resources. In a sense,
you get type safety when building RESTful URLs. You build an HTTP URL reference to a Spring MVC
@Controller based on its class. Now, you can do the same for
@Path-annotated JAX-RS classes thanks to this novel pull request. Nice!
- The RabbitMQ blog announces the availability of a new MQTT adapter for RabbitMQ. MQTT, to quote the MQTT website, "A lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks." Really cool!
- Nicolas Frankel has an interesting post about his experience jBPM 4 and Spring.
Normally, at this point, I'd forward people to the Activiti open-source BPMNS 2 workflow engine, which enjoys a very powerful Spring integration, but Nicolas has already tried it and couldn't adapt it because of organizational pressures! So, it's nice to at least see how to integrate jBPM.
- Christian Posta has a nice post on how to handle routes with Spring Integration, delegating to an ActiveMQ broker for durable exchanges.
- Julio de Jesus has put together a nice blog on using Spring 3.1's bean profiles feature to describe environment-specific beans in a Spring application.
- The Thymeleaf project has just announced new support for Spring Security integration with the Thymeleaf view template technology.
- The Technical Notes blog has a great post describing how to integrate Sitemesh with your Spring applications.
- Our pal Roger Hughes is back at it, this time with a lovely post on using Spring 3.1's
@Cacheable annotation and the
- A new version of the C24 Spring Components has been released.
Welcome to another installation of This Week in Spring
! I'm off to Oslo, Norway for the JavaZone
conference to talk to people about using Spring Integration
and Spring Batch
on top of Cloud Foundry. Again, this is a natural use case: Cloud Foundry makes it easy to scale to handle the largest workloads, and Spring Integration and Spring Batch, presumably sitting on top of RabbitMQ
, take care of the plumbing and do the heavy lifting of workload distribution across the cluster.
Wrapping up from last week's Cloud Foundry Open Tour - India, touring Bangalore, and Pune, I got great feedback about using Spring MVC for multi-client applications with REST. We looked at deploying those applications to Cloud Foundry, the open-source PaaS from VMware, where you can control the range of channels that your Spring MVC/REST architecture can deliver to. It's been a truly exciting time. Cloud Foundry gives developers a platform to deploy the Spring applications they want to build, how they want to build them, without having to worry about infrastructure and middleware concerns.
Also don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered, now's the time!
As usual, we've got lots of great content to look at, so let's get to it!
- Kicking things off, Spring Social lead Craig Walls has announced the latest version of Spring Social Facebook, version 1.0.2, has been released. The new release keeps pace with the latest Facebook API updates.
- Shekhar Gulati has been doing some amazing work introducing Spring Roo. In the latest two installments of his series on IBM's Developer Works, Shekhar introduces building Spring MVC and GWT applications, and developing Spring Data MongoDB applications.
- This blog entry on the Hubberspot blog introduces how to use Spring's XML application context
<constructor-arg/> tag to specify bean constructor arguments by argument index.
- Dr. MacPhail has put together a very nice blog on modernizing the classic Spring PetClinic application, retrofitting the use of the default servlet and introducing annotation-driven configuration. The information on how the
default servlet works and how Spring MVC, as of 3.0, lets you take advantage of it, is fantastic, and a quick, worthy read for anybody.
- One common use case in enterprise messaging is trying to infer state from the event stream after the stream's been consumed by other clients. Wouldn't it be great if there was a way to get the behavior of a retroactive consumer on RabbitMQ, for specific values? Thanks to RabbitMQ's pluggable exchanges feature, you can. I just saw this implementation of a last-value-cache for RabbitMQ. I confess, I haven't had a moment to try it, but it looks really interesting, and powerful!
- Boyko Todorov has put together a step-by-step blog introducing how to create a Maven web application and install the interesting pieces that comprise a Spring Batch application.
These steps work, and indeed have some niceties like the installation of the Quartz job engine,
but are not the easiest way to go if you're using the open-source, and free, Spring Tool Suite (STS). In STS, you need only go to the
Spring Template Project menu, and there you have several options, including a project for configuring the full Spring Batch Admin in a web application!
- Krishna's Blog has a nice post on
Spring Web Service's fantastic test-driven development support (complete with code!).
He shows how to use the
MockWebServiceClient to drive payload-driven requests to a web service, and verify the results. To stand up the web service, he uses the Spring Integration inbound web service gateway. This is an alternative way of setting up web service endpoints. Alternatively, you could use Spring Web Services and expose them directly in a web application by itself, or on top of Spring MVC's web processing machinery.
This approach makes more sense to me, because it gives you the ability to better express the request processing pipeline using the many proverbial tools included in Spring Integration's toolbox.
Tshikatshikaa, or Technical Notes blog has a really nice look at how to unit test Spring services, and data-access objects (DAOs) with JPA 2 and Spring 3.1's testing support and the Java configuration.
- JBoss' Mark Proctor and ValueMomentum Software Services Pvt. Ldt's Vinod Kiran have a nice post on how the latest release of the popular open-source rules engine, Drools, better supports Spring configuration in the beta releases of 5.5. The new support takes the existing support, available from version 5.3, and extends it to support declarative configuration of knowledge runtime loggers (console, file, threaded-file). The post includes lots of code examples, too!
- Uttesh Kumar has a nice post on the various ways to test RESTful Spring MVC services. The first example uses Spring's built-in
RestTemplate object to integration test a web service.
The post also links to a few very nice clients, including SoapUI, the Firefox REST Client plugin, and Chrome's POST MAN plugin.
- Jijo Mathew has a great post on how to use Spring MVC to build Ajax-based applications. Rather than explain, he demonstrates with abundant code samples.
Welcome to another installment of This Week in Spring!
This week I'm back in India (in Bangalore and in Pune) along with other Cloud Foundry ninjas on the Cloud Foundry Open Tour India! I am looking forward to talking to people about building Spring applications for Cloud Foundry. Also don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered for these two events, now's the time!
- Michael Isvy has a nice post on using Spring MVC and jQuery to handle client-side validation. Nicely done, Michael!
- Chris Schaefer has a great post on his Spring Batch AMQP
ItemWriter implementations that were just merged into Spring Batch 2.2.0! Congratulations, and thank you, Chris!
- Doug Haber put together a really nice post on how those powerful
@Enable* annotations in Spring 3.1 Java configuration work. Definitely worth a read if you want to know more.
- Neale at the FuzzyDB blog has a only faintly Spring-centric post which might nevertheless be of use to many of you:
how to setup desktop icon launchers for SpringSource Tool Suite on Ubuntu!
- Andriy Redko has a nice post on using a debugging framework called BTrace to inspect and debug performance of a Spring MongoDB application. Again, this is only faintly useful to a Spring developer by default, but it's nice have tools that much.
- One neat little gem inside the Spring framework is the
@Required annotation, which checks that all bean properties
that have the annotation are configured with a value at runtime.
Srinivas Rao has a nice post on using the
@Required annotation to defensively check bean configuration at runtime, and how to turn on the processing of the annotation.
- The Hitchhiker's Guide to Java blog has an interesting (and strange and appealingly worded!) post on how to setup
Hibernate using Spring, and eschew
- Blogger Brian has an interesting post on how to set up the Quartz job scheduling engine using Spring. Nicely done, Brian!
- The Learning the Code Way blog has a very nice post on how to use
*DaoSupport implementations in your data access logic.
- The Technical Notes blog has a very simple code walkthroug introducing how to bootstrap Spring MVC
@EnableWebMvc Java configuration annotation.
Welcome back to another installment of This Week in Spring,
VMWorld edition! We're at the VMWorld event, talking to developers about Spring and Cloud Foundry.
There's been a lot of exciting news coming out of this event, including some interesting updates around vFabric and updates regarding the timelines for Cloud Foundry itself: CloudFoundry.com, the hosted PaaS from VMware, will be GA by end-of-year, and next year will see the availability of a private on-premise Cloud Foundry. Both vFabric and Cloud Foundry are ideal environments for your Spring applications, and it's nice to see these platforms evolve.
- Oliver Gierke has announced that the Spring Data Release Train has reached the station! This release is an umbrella release of several projects that provides uniformity across the various modules.
This release includes Spring Data Commons 1.4.0.RC1, Spring Data JPA 1.2.0.RC1,
Spring Data MongoDB 1.1.0.RC1, Spring Data Neo4j 2.1.0.RC3 and Spring Data Gemfire 1.2.0.RC1.
- Gunnar Hillert has a nice blog introducing how to bootstrap custom Spring Integration adapter development.
- Gary Russel has announced that the latest iteration of Spring Integration, 2.2.0M4, is now available. Gary, a very busy man indeed, has also announced the latest release of Spring AMQP, 1.1.2, has been released
- Spring Batch lead Dr. David Syer has announced the latest release of Spring Batch, 2.1.9, is now available.
- Greg Case has put together a nice post on how to integrate Spring Data REST-exposed repositories with the jQuery Datatables data grid.
- The O'Reilly Spring Data book is under continuous development and is available in early-access release on O'Reilly's website. I want to encourage you to get the book, review it, and feedback as early as possible.
- Web ninja Matt Raible has an interesting tweet reminding us of the power of Spring MVC's <default-servlet-handler/>,
in 140 chars, to boot!
- The second of a series of posts by Oracle JavaFX evangelist Steve Chin introducing Spring with JavaFX is up, check it out!
- Nicolas Frankel has an interesting post on how to use Spring Security with the
Vaadin web framework. Nicely done, Nicolas!
- The jeviathon blog has some interesting posts, of late! The first one introduces how to leverage Spring 3.1's
@Cacheable API and the blog even compares it to analagous support in the .NET world. Very cool!
Next, the blog shows how to build Spring 3.1 Java configuration-based integration with Lucene 4. Also very cool!
- There are some amazing webinars coming up!
The first one, on September 6th,
Development with Spring Tool Suite will look at how to develop applications for Spring and Cloud Foundry using the Spring Tool Suite. The second webinar, on September 20th, will introduce
on Spring Security Fundamentals, which is sure to be of interest for anyone who wants to learn how to use this critical technology.
- Tim Spann has put together a compilation of useful links for working with HTML 5, Spring, Spring Flex and Flex. Interesting read!
- Trevor Page has a nice post on how to debug in Java using the Spring Tool Suite, complete with a video! Nice job, Trevor!
Welcome to another installment of This Week in Spring!
This roundup is put together by aggregating lots of great content from all around the web. If you have content suggestions, or if you simply want a direct line to some of the content that we post, check us out on Twitter, and Google+.
As usual, we've got a lot to go over, so let's dive into it.
- Up first this week, there is a lot of new content available
on the SpringSource Dev YouTube channel.
The video from Spring Data Neo4J lead Michael Hunger's excellent webinar introducing Spring Data Neo4j is also available.
The video from VMWare engineer Jerry Kuch's webinar providing an update on the new features in RabbitMQ is also available.
Finally, the video from the webinar that Ken Rimple, Srini Penchikala, and I did introducing how to more fully exploit Spring Roo's interactive add-on mechanism is available.
- Spring Security OAuth lead Dr. David Syer has announced that
Spring Security OAuth 1.0.0.RC2 is now available.
- Remember our pal Tobias Trelle? He's got another fantastic article that's been published on InfoQ called Spring Data - One API to Rule Them All?
- Stephen Chin, the Oracle JavaFX evangelist, has posted an initial blog and a slide deck on the work he's done to integrate Spring and Java FX based on a talk he's done at the Dallas Spring User Group. Nice work, Stephen! I'm looking forward to the subsequent blog posts he's promised us!
- Zemian Deng has a nice post on how to use the TimeMachine scheduler with Spring.
- The Java Code Geeks blog is at it again, this time with a post on how to measure the execution time of a method call using the Spring StopWatch class.
Note that this sort of code is ideal for delivery as a AOP Aspect.
- René van Wijk has a nice post on how to integrate Spring's Hibernate support with the JBoss AS 7-specific integration for Hibernate.
- This blog looks at how to use the
HibernateTemplate to work
with Hibernate's lazy initialization feature. It's a nice post, but it's worth mentioning that the
HibernateTemplate's no longer the preferred way of working with Hibernate. Instead, simply create a
HibernateTransactionManager instance, and build a
SessionFactory using the
LocalSessionFactoryBean (available for both Hibernate 3 and Hibernate 4) and then you're done. For a good example,
check out this sample application
which demonstrates Hibernate 4. You can use the Hibernate thread-local session API (which has been available since later iterations of Hibernate 3.x). To specifically handle lazy initialization, look at
- Spring's configuration support is very rich, and
handily supports declaring many convenience objects. This blog introduces
how to configure lists and maps using the Spring XML namespace support. Convenient!
- The Pables64 blog has a nice post on how to use the SpringSource Tool Suite Spring MVC template to build a Spring MVC-based web application in no time flat.
- This post enumerates some of the open source projects that themselves embed or rely on the Spring framework. This list is by no means comprehensive, but it is very interesting!
- Blogger zws1987211 has an interesting post on how to use Spring with ActiveMQ. A lot of the confusion comes from reading the ActiveMQ documentation and articles. Using Spring with JMS (and ActiveMQ in particular) is quite straight forward.
JmsTemplate makes it quite simple to
receive messages using JMS. If you want to asynchronously receive messages, then you should consider the
MessageListenerContainer implementations. If you're going to use
JmsTemplate to receive messages outside of a Java EE application server (which typically provide connection factory pooling), consider using the
CachingConnectionFactory implementations to wrap the raw JMS connection factories. By default the
JmsTemplate handles all the tedious resource acquisition and destruction logic involved in working with the JMS API. This includes shutting down connection factories and sessions, which can be expensive if the resources are actually closed, and not simply returned to a pool where they're subsequently reused.
You know what I love the most about this post, though? Not only does the post articulate the correct strategies for working with Spring, but the blogger even went to the Apache Wiki's and corrected them where appropriate! Nice job, great post, and even greater initiative!
- Boris Lam has a nice post on using the Spring Expression language for convenient, annotation-driven security constraint declarations in Spring Security. Nice job!
- Blogger Brian has an introduction to building RESTful web services with Spring MVC. The post introduces how Spring's REST support builds on top of core Spring MVC.
Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover, so let's get to it.
- The SpringSource Tool Suite has been open sourced! And, two different versions of it are now available, supporting two different developers: the Spring developer, served by the Spring Tool Suite, and the Groovy and Grails developer, served by the Groovy/Grails Tool Suite. For more on this fantastic news, check out Tool Suites-lead Martin Lippert's blog.
- Spring Security lead Rob Winch announced the latest version of Spring Security, version 3.1.2, has been released.
- The ZeroTurnaround blog has a really cool little blog on rapid development with Spring and Hibernate.
Of course, Zero Turnaround has a handy little software agent that lets you reload Java classes on the fly. So that's a huge gain in productivity right there. That, coupled with XML-free Spring 3.1 and Hibernate 4.1, and you have yourself a really awesome combination. To learn more, check out the blog! The example he illustrates are also well represented in this sample project on GitHub. The example even includes
web.xml, even though it isn't required, just as was done in that blog post, specifically because it's more reliable on the buggy versions of JBoss 7 and Servlet 3 environments aren't ubiquitous, yet.
This is a seriously cool blog post, be sure to read the followups!
- Joseph Kulandai has a nice, introductory blog post on the Spring
ApplicationContext, including some tidbits about it that I'd long since forgotten! Very nicely done, Joseph!
- We talked about this before, but InfoQ's coverage is pretty awesome, too.
IG Group Open-Sources RESTdoclet, which makes it dead simple to generate documentation for Spring-based RESTful services. REST, for better or for worse, does not have something like SOAP's WSDL, which enumerates the interface contract for clients connecting to SOAP-based web services. This technology fills that gap.
Paxcel Labs has an interesting blog post on that attempts to demystify IoC (inversion of control) and how Spring supports the concept.
- The Hybris blog has been on a roll recently with their posts on consuming OAuth from the client perspective, but this post, in particular, introducing how to setup Spring Security OAuth
is the one I've been waiting for! It's a very nice read, and I'm glad they've shared it with us, complete with working code and a blow-by-blow breakdown of the pieces. OAuth is complex, Spring Security OAuth (not yet GA!) makes it much simpler, but it's still nice to have guidance.
- Speaking of Spring Security, the Java Code Geeks have a blog post with a classic recipe (an oldie but a goodie): how to implement a
UserDetails object backed by Hibernate entities (of your own design).
- Biju Kunjummen has a great blog post introducing
some of the nuances of using Java-based configuration
. Specifically, he reminds us to let Spring provide the lifecycle callbacks by routing things through @Bean methods, instead of instatiating the objects directly.
- If you use Spring.NET, and want to take advantage of AOP method interception, check out this post!
- Spring Data Neo4j lead Michael Hunger, fresh off his very cool Spring Data Neo4J webinar (find more great content like that on our YouTube channel!), has put together a followup blog with helpful resources like the location of the slides. Thanks, Michael!
- Partha Bhattacharjee continues his blog series introducing Spring Integration. This time, he talks about Spring Integration's gateways, which make request/reply semantic exchanges dead simple!
- Captain Debug has a wonderful post on using Spring 3.1's profiles to define environment-specific beans in XML.
- The Halycon code blog has a post on using Spring's sub-contexts to let you take advantage of Spring's property-placeholder resolution in
import statements. Normally, these statements are not able to see the property placeholders of the current application context, but nested contexts can see the property placeholders of the parent contexts. Solution? Simply instantiate everything in a child context so that the
import statement can use the parent context's properties! This trick's kind of sneaky! I like it.
Remember, child contexts provide scoping - beans defined in one child can't see beans defined in another. This makes it very useful for things like Spring Batch Admin, which lets you upload and launch new Spring Batch jobs (which themselves are based on Spring configuration) on the fly.
- The Java Assist blog has a nice post on using Spring MVC bean validation in 3.0 or later. Cool!
- The Intelligrape blog has a quick post about using Grails' support for Spring beans, and exploiting Spring's lifecycle callbacks, particularly
- The Middleware magic blog has a nice, complete post on configuring Spring to talk to a JBoss AS 7-managed JMS instance. The example is particularly involved because of all the work required to setup JBoss and to build up a client connection to it.
Welcome to another installment of This Week in Spring!
As usual, we've got a lot to cover, so let's get to it!
- I did a brief review of Manning's new book,
Spring Roo in Action. Check it, and the book, out!
- The Cloud Foundry Integration for Eclipse Now Supports Tunneling to Services. This increases the parity betwen the Eclipse support (and the SpringSource Tool Suite support) and the
vmc command-line client.
- The VMware has a very cool blog taking a look the roles Spring and RabbitMQ play in
in the new project behind India's 1.2 Billion Person Biometric Database. Very cool!
- David Turanski has a nice post that introduces a finer point of the Spring Data repository implementations: its really elegant code-base!
- Jerry Kuch, a staff engineer at VMWare, did a very nice video on the new features in RabbitMQ
Spring Security lead Rob Winch's amazing QCon New York talk on Spring Security is now available on InfoQ.com.
- Umar Ashfaq has put together a nice blog detailing how to
authenticate ajax based requests using Spring Security. This blog then links to two other blogs, one on the server side implementation and another on the client side.
The approach described uses standard Spring Security web integration, but modifies the responses to work well with an Ajax client.
- Umar Ashfaq also had a very nice post on using Spring Security's "remember me" feature.
- The Codeyard blog has an interesting - and long! - post on how to setup Spring and Hibernate to work together.
The post uses Spring 3.0, and an older version of Hibernate.
- Partha Bhattacharjee has a nice post introducing JSR 303 bean validation with Spring.
- Partha Bhattacharjee also has another nice post introducing Spring Integration. Nice job!
- Markus Eisele has a post about using Spring Social to build the simplest possible Facebook application possible.
- Arnon Rotem-gal-oz has put together a nice look at RabbitMQ and AMQP.
- RabbitMQ 2.8.5 has been released! For the details, see the release notes.
The SolidSoft blog has an interesting post on using a library called SpringMockito to mock beans in a Spring context. The library mocks beans for you and then
makes it easy to inject them and reference them as you would the real deal. This could be very compelling especially used in conjunction with Spring 3.1's profiles feature, which lets you partition
beans along environments. You might, for example, have a bean called development, production and test.
- Thymeleaf 2.0.11 has just been released and completes support for Spring WebFlow, now including AJAX-based <render> events (even without Tiles).
Welcome to another installation of This Week in Spring!
This week I'm in Bangalore, India with other members of the SpringSource and Cloud Foundry teams talking to major system integrators about Spring and Cloud Foundry. The uptake's amazing, and the feedback is even better.
In related news, the Cloud Foundry Open Tour is coming to India next month! If you want to hear thought leaders and experts and learn about cloud computing, platform-as-a-service, architecture and Spring, then be sure to register now for either the Bangalore or Pune events.
I look forward to seeing you there!
- Jonathan Brisbin has announced the latest release of Spring Data Rest, version 1.0.0.RC2, which features JSONPE support, and better integration with Spring MVC applications, as well as even more configuration hooks so you can exert even more control over the behavior of the framework.
- Dr. David Syer has announced the 1.0.0.RC1 release of Spring Security OAuth. Spring Security OAuth is a module that works with Spring Security
and lets you expose OAuth-secured RESTful resources.
The new release features lots of new extension points in the Authorization Server features,
a Whitelabel UI for better out-of-box experience, and improved support for expressions in security filters. Check it out!
- WADL is a description format for RESTful web-services, in much the same way that WSDL describes SOAP-based web services' contracts. This excellent blog post, by Pankaj Bhatt, has an interesting approach to generating WADL descriptions for Spring MVC-based RESTful services.
- Roger Hughes is at it again, this time with part 2 of his look at Spring Social.
- Nicolas Frankel has a nice blog on method injection with Spring.
Method injection is less useful with the introduction of Java configuration support, of course. Spring supports the injection of proxies of your beans that are recreated according to their scope on access in beans of larger scopes. In XML, this means using the
<aop:scoped-proxy/> element in your bean definitions, or specifying the
proxyMode attribute in the
@Bean annotation on your Java configuration-based bean definitions.
- Gordon Dickens is back at it, this time with a nice post on the third part of his blog series introducing best practices for setting up Spring applications.
Semika Koku Kaluge has an interesting post on how to use Spring's
Locale of internationalized messages through an HTTP request.
- The TomcatExpert has a blog on the release of Apache Tomcat 7.0.29.
- Then, TomcatExpert has a nice blog on migrating from Websphere to Weblogic to tcServer, which is the more operations-friendly version of Tomcat packaged as part of VMWare's vFabric.
- Finally, TomcatExpert has a nice post on setting up SSL in Apache Tomcat.