Spring 3.0 GA is awaited in the second half of 2009. The session will show an
overview of the changes and the new features of the framework.Demos will be
shown on a sample application deployed on the new GAE/J.
2. Trivadis AD Consultant
Focus on
Web development
OSGi / Spring dm
Agile software development
3.
4. Roadmap
Milestones / Feature Overview
Spring Expression Language (SpEL)
IoC / JavaConfig Integration
REST Support
Bean Validation
New Project Layout
GAE/J Demo
5.
6.
7. Spring Framework 1.0 24.03.04
Spring Framework 2.0 05.10.05
Spring Framework 2.5 19.11.07
8. Spring Framework 3.0 M1 08.12.09
Spring Framework 3.0 M2 01.03.09
Spring Framework 3.0 M3 Q1 2009
Spring Framework 3.0 RC 1 Q2 2009
Spring Framework 3.0 RELEASE Q2 2009
9. Spring EL and REST support
Updated codebase for Java 5 code style
Updated to JUnit 4.5 and JRuby 1.1
@PathVariable , @RequestParam,
@RequestHeader, @CookieValue
AbstractAtomFeedView and AbstractRssFeedView
<spring:url> and <spring:param> JSP tags
10. Further Java 5 style API updates
Extended concurrency support
OXM module in core
RestTemplate
MVC on Portlet 2.0
Early JPA 2.0 support
11. Annotation-based factory methods
Declarative validation (based on JSR-303 quot;Bean
Validationquot;)
New XML configuration namespaces
(orm, scheduling)
Spring MVC: conversation management
Preparations for JSF 2.0
12. Overdue since weeks
Release at SpringOne Europe 2009 Conference ?!
Jira History
Tuesday 21.04.09 - 14 Issues left
Wednesday 22.04.09 - 7 Issues left
Yesterday 24.04.09 – 8 Issues left
Today ... 9 Issues left
13. requires Java 5 or above
requires J2EE 1.4 or above
Some spring cleaning (removed/deprecated outdated
classes)
SpringSource is building the Spring Framework on
Java 6 and Java EE 5
But still compatible with Java 5 enabled J2EE 1.4
servers such as WebLogic 9 and WebSphere 6.1.
14.
15. EL implementation included in Spring 3.0
package org.springframework.expression
next-generation expression engine inspired by Spring
Web Flow 2.0's expression support
Compatible with Unified EL syntax and morepowerful
navigating bean properties, collections, maps, custom
method invocations
construction of value objects
16.
17.
18. Implicit variables
systemProperties , systemEnvironment
global platform context
Spring beans by name
similar to managed beans in JSF expressions
21. Spring MVC 3 provides support for REST-style
mappings
extraction of URI template parameters
content negotiation in view resolver
Goal: Native REST support within Spring MVC, for UI
as well as non-UI usage
in natural MVC style
26. Allows HTML browsers to emulate PUT and DELETE
requests
HTML forms only support GET/POST natively
Special hidden parameter determines RequestMethod
27. In view:
Metadata can be used for persisting, rendering, etc
Spring: to be supported for MVC data binding
JSR-303 quot;Bean Validationquot; as the common ground
28. Framework modules revised
now managed in Maven style
one source tree per module jar
spring-beans.jar, spring-aop.jar, etc
no spring.jar anymore!
29. Built with new Spring build system as known from
Spring Web Flow 2.0
Ivy-based quot;Spring Buildquot; system
consistent deployment procedure
consistent dependency management
consistent generation of OSGi manifests
30.
31.
32.
33.
34. Modularity, shipped as OSGi Bundles
ADD – Annotation Driven Development
Spring JavaConfig integration in Core Module
RESTful Support
Spring EL (SpEL) is Unified EL ++
Bean Validation
38. What’s New in Spring 3 by Keith
Donald, SpringSource
http://blog.springsource.com/2008/12/05/spring-
framework-30-m1-released/
http://blog.springsource.com/2009/02/25/spring-
framework-30-m2-released/
http://raibledesigns.com/rd/entry/what_s_coming_i
n_spring
Editor's Notes
18 Portfolio Projects
Dropping Support for JUnit 3.8 Test Classes Commons Attributes MVC Controller Hierarchy TopLink (new EclipseLink)
Some core features from the JavaConfig project have been added to the Spring Framework now. This means that the following annotations are now directly supported
To get this to work you need to add the following component scanning entry in your minimal application context XML file. <context:component-scan base-package=\"com.myco.config\"/>