Newsletter - December 2012, EMEA
|
|
VMware :: SpringSource
 |
 |
 |
 |
 |
 |

 |
 |
 |
December 2012 – Issue 50
 |
|
|
 |
 |

Spring Framework 3.2 GA Now Available
The GA release of Spring Framework 3.2 is now available from the SpringSource repository. If you're not already familiar, see our quick tutorial on resolving these artifacts via Maven. The complete distribution zip is available as usual from the SpringSource community download site. A major area of focus for 3.2 is ensuring that Spring Framework runs flawlessly on JDK7. We encourage all Spring users on JDK7 to give the 3.2 GA bits a try!
|
 |
 |
 |
 |
| |
In This Issue |
|
|
|
 |
 |
 |
 |
| |
Latest Articles
Spring Framework 3.2 GA is Now Available
Monthly TechTips: Spring and STS
Webinars and Videos
Software Release Summary
Blog Digest
|
|
Webinars & Videos
Spring Framework 3.2 – Themes and Trends
Register – January 17, 2013
Architecture of a Modern Web App
Register – January 24, 2013
More Videos
|
 |
 |
 |
 |
| |
Monthly TechTips – Runtime and Designtime |
|
 |
 |
 |
 |
| |
Monthy Spring TechTip: The Spring 3.2 Cache Abstraction
The Spring Framework includes a declarative caching abstraction. The cache abstraction behaves very much like Hibernate's second level cache, except that it's not tied to any persistence technology, and instead should be used to decorate your service tier code. To use it, simply add Spring 3.2 to the classpath and then wire up the CacheManager that you want to use. Once you've configured a CacheManager, using the abstractions is easy: just add annotations! Let's look at some examples. To register declarative support for the Caching abstraction, you can add <cache:annotation-driven /> to your XML file, or use the @EnableCaching annotation in your Java configuration class. Once the caching support is enabled, then you only need to decorate your Spring beans as appropriate. Spring Framework 3.2 adds JCache 1.0 support - the first to support the long dormant JSR 107.
@Cacheable(value="book", key="T(Foo).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
The @Cacheable annotation caches the result of a method invocation if and only if a value doesn't already exist under the key provided in the backing cache. If it does exist, it simply returns that value. The result of the method call be cached in the region ("book") that's described in the @Cacheable annotation. The key attribute, which is optional, is a Spring Expression Language statement that tells Spring how to construct a key for the cached value. Here, we're telling Spring to call a static method on a class Foo to create the key, passing in the first parameter of the method. If absent, Spring will create a key based on all the values of all the parameters in the method. Caching is one side of the story: what happens if you want to remove an entry from the Cache? Evict it!
@CacheEvict(value="book", key="T(Foo).hash(#isbn)")
public void removeBook(ISBN isbn)
There are many that come out of the box with Spring itself, including support for Ehcache, and java.util.concurrent.ConcurrentHashMap<K,V>s. The JDK version is powerful because many different caching abstractions offer support for consuming the cache as an implementation of java.util.Map. For example, Hazelcast, Coherence, and GemFire all support a Map implementation that's backed by the data grid. That said, it's usually preferable to use a CacheManager that's optimized for a specific cache implementation. Besides the options shipped as part of the Spring framework, other projects like Infinispan, Spring Data Redis and Spring Data GemFire projects ship their own implementations that are tailored specifically for those caches.
Monthy STS TechTip: Rename refactoring in Spring Tool Suite (STS)
The rename refactoring is probably the most widely used feature of todays IDEs and absolutely priceless for every day work. But do you know that we have extended this refactoring support to take care of your Spring configurations as well? You can easily rename Spring beans and the Spring Tool Suite takes care of updating references to your bean automatically for you. And if you refactor Java code, the Spring Tool Suite takes care of updating your Spring config files for you. It doesn't matter it you rename a class or a property, your Spring XML files will be updated automatically for you. So refactoring your Spring-based applications becomes a pleasure.
| |
 |
 |
 |
 |
| |
Webinars and Videos |
|
 |
 |
 |
 |
| |
SpringOne 2GX Keynote Replays Available
If you were not able to attend the hugely popular SpringOne 2GX conference in October, you can catch up on the keynote replays. Adrian Colyer describes the evolution of modern application architecture and demonstrates some of the SpringSource research projects in this area. Juergen Hoeller, Mark Pollack and Graeme Rocher present the syntactic philosophy for Spring, a Spring Data and Apache Hadoop demo for the US election and a summary of the latest innovations for Grails. Be sure to subscribe to the SpringSourceDev YouTube channel to be updated when new recordings from SpringOne 2GX are posted.
Spring Framework 3.2 – Themes and Trends
We'll discuss some refinements in the core container as well as key updates in Spring MVC: asynchronous MVC processing on Servlet 3.0, REST support improvements, and the inclusion of the formerly-standalone Spring MVC Test project. Spring Framework 3.2 also comes with a new Gradle-based build and a GitHub-based contribution model, making it even easier for community members to contribute to the Spring Framework project.
January 17, 2013 3:00pm Western Europe (London, GMT) – Register
Architecture of a Modern Web App
No longer are servers the exclusive holder of smarts, and clients simply dumb terminals. Modern applications leverage the strengths of both the client and server to accomplish their tasks. No longer can a client side developer ignore the server, nor a server side developer ignore the client. This talk will explore the interconnected world of clients and servers drawing inspiration from emerging frameworks that are pushing the limits of what’s possible.
We will look at the history of web development to uncover trends that inform future development paradigms. The strengths and weaknesses of each paradigm will be discussed in order to help determine the best fit for a project.
January 24, 2013 3:00pm Western Europe (London, GMT) – Register
Videos:
SpringOne 2GX 2012 Web Track: Designing REST-ful API using Spring 3
IOC + Javascript at SpringOne 2GX
Getting the most out of JPA, JDBC and REST
Introducing Hadoop
| |
 |
 |
 |
 |
| |
Software Release Summary |
|
 |
 |
 |
 |
| |
Spring Framework 3.2 GA
Spring Integration 2.2.0 GA
Spring Tool Suite and Groovy/Grails Tool Suite 3.2.0.M1
Spring for Android 1.0.1
Spring Social 1.1.0M1
|
|
 |
 |
 |
 |
| |
Blog Digest |
|
 |
 |
 |
 |
| |
IOC + Javascript at SpringOne 2GX
Introducing Spring Migration Analyzer
Dependency Analysis in Scripted
|
|
 |
 |
 |
 |
| |
SpringSource University – Upcoming Training |
|
 |
 |
 |
 |
| |
Core Spring
Enterprise Integration
Hibernate with Spring
Rich Web Applications
Groovy and Grails
|
|
 |
 |
 |
| |
|
|
| |
 |
|
|
|
|