spring 2.5: new and notablegotocon.com/dl/jaoo_aus2008/slides/benalex_whatsnewinspring2.5... ·...
TRANSCRIPT
![Page 1: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/1.jpg)
Spring Framework 2.5: New and Notable
Ben Alex, Principal Software Engineer, SpringSource
![Page 2: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/2.jpg)
springsource.com 2
GOAL>Learn what’s new in Spring 2.5 and why it matters to you
![Page 3: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/3.jpg)
springsource.com 3
Agenda
Goals of Spring 2.5
Support for new platformsAnnotation based Dependency Injection@Component and other stereotype annotationsComponent scanningSpring MVC updateThe future
![Page 4: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/4.jpg)
springsource.com 4
Background to Spring 2.5
Spring has become de facto standard component model for enterprise Java• Gartner:
• 75% of middleware vendors will provide Spring integration by 2009
• Forrester• “Most enterprise Java users reported using Spring”
• BEA• Most respondents to Dev2Dev survey use Spring
• Job listings• Spring leads among Java component model technologies in worldwide job
requirements
![Page 5: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/5.jpg)
springsource.com 5
Goals of Spring 2.5
To strengthen Spring’s position as the de facto standard and most capable component model for enterprise Java
To continue to deliver simplicity and power• Support for new platforms
• Annotation support across the framework
• Significant improvement in Spring MVC framework
![Page 6: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/6.jpg)
springsource.com 6
Support for new Platforms
New Platform support:Java 6 (JDK 1.6)Java EE 5OSGi
![Page 7: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/7.jpg)
springsource.com 7
Java 6 Support
One of the first major frameworks with dedicated support for Java 6 (JDK 1.6)
New JDK 1.6 APIs supported:• JDBC 4.0• JMX MXBeans• JDK ServiceLoader API
JDK 1.4 and 1.5 still fully supportedJDK 1.3 no longer supported• Declared end-of-life by Sun a year ago
![Page 8: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/8.jpg)
springsource.com 8
Support for new Platforms
New Platform support:Java 6 (JDK 1.6)Java EE 5OSGi
![Page 9: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/9.jpg)
springsource.com 9
Java EE 5 support
Integration with Java EE 5 APIs• Servlet 2.5, JSP 2.1 & JSF 1.2• JTA 1.1, JAX-WS 2.0 & JavaMail 1.4
J2EE 1.4 and 1.3 still fully supported• BEA WebLogic 8.1 or higher• IBM WebSphere 5.1 or higher
Spring 2.5 component model processes Java EE 5 annotations• JSR-250 injection and lifecycle annotations
![Page 10: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/10.jpg)
springsource.com 10
Other JEE enhancements: RAR support
Ability to deploy Spring appIication as a RAR file
• For J2EE 1.4 and Java EE 5 (JCA 1.5 ResourceAdapter)
�
For non-web deployment units driven by messages, jobs etc• Instead of headless WAR• Add a META-INF/ra.xml file that references a Spring
applicationContext.xml file• Put the required library JARs in the root of the RAR archive• Can access app server services like JTA TransactionManager and MBeanServer
![Page 11: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/11.jpg)
springsource.com 11
Other JEE enhancements: IBM WebSphere 6
Spring 2.5 is officially supported on IBM WAS 6.x
Support for WebSphere-specific transaction management API• Including transaction suspension
• Avoiding use of the raw JTA TransactionManager on WebSphere
• On WebSphere 6.0.x and 6.1.x
WebSphereUowTransactionManager• Enhanced replacement for standard Spring JtaTransactionManager using proprietary IBM APIs without polluting application code
![Page 12: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/12.jpg)
springsource.com 12
Support for new Platforms
New Platform support:Java 6 (JDK 1.6)Java EE 5OSGi
![Page 13: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/13.jpg)
springsource.com 13
Spring and OSGi
Open Services Gateway Initiative
Dynamic module system for Java• Clean isolation of modules• Versioning• Hot deployment
A bundle is the central packaging unit• Versioned JAR• Specifies types being exported• Specifies types that need to be imported• Can be dynamically changed at runtime
![Page 14: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/14.jpg)
springsource.com 14
Spring is OSGi ready – today!
Most recent Spring Portfolio similarly provide OSGi metadata• For example, Spring 2.5 JARs include OSGi metadata in the manifest
Spring Dynamic Modules provides Spring-OSGi integration
SpringSource Application Platform uses an OSGi kernel
SpringSource Enterprise Bundle Repository provides bundles
JEE remains fully supported by Spring• WARs, RARs, EARs and PARs with a consistent programming model
![Page 15: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/15.jpg)
springsource.com 15
VIDEO>SpringSource Application Platform
SpringSource Tool Suite
SpringSource Enterprise Bundle Repository
![Page 16: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/16.jpg)
springsource.com 16
Agenda
Goals of Spring 2.5Annotation based Dependency Injection (DI)@Component and other stereotype annotationsComponent scanningSpring MVC updateThe future
![Page 17: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/17.jpg)
springsource.com 17
Annotation-driven DI in Spring 2.5
We've supported annotations in Spring since 2004
@Autowired• Native Spring annotation syntax• Designed in late 2007• Integration of proven Spring model with experience from use of
annotation-driven models
@Resource• JSR-250/EJB3 model
![Page 18: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/18.jpg)
springsource.com 18
Annotation-driven DI: Pros and Cons
Pros• Annotations can reduce or eliminate external configuration• More concise mechanism because you specify what should be injected,
with the location of the annotation providing where
Cons• Annotations are per-type (not per-instance)• Doesn’t work for legacy code with existing classes without annotations• Need to recompile Java code to modify configuration• Not well suited to externalizing simple types
![Page 19: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/19.jpg)
springsource.com 19
Resolving Dependencies: @Autowired
Injection at constructor/field/method levelSupports multi-argument methods• Concise
Annotations make autowiring much more useful
@Autowiredpublic void createTemplates(DataSource ds,
ConnectionFactory cf) { this.jdbcTemplate = new JdbcTemplate(ds); this.jmsTemplate = new JmsTemplate(cf); }
![Page 20: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/20.jpg)
springsource.com 20
@Qualifier Annotation
public class JdbcOrderRepositoryImpl implements OrderRepository {
@Autowired public void init(
@Qualifier("myDS") DataSource orderDataSource, @Qualifier("otherDS") DataSource inventoryDataSource, MyHelper autowiredByType) {
// ... }
![Page 21: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/21.jpg)
springsource.com 21
Using your own @Qualifier annotations
public class JdbcOrderRepositoryImpl implements OrderRepository {
@Autowired public void setOrderServices(
@Emea OrderService emea, @Apac OrderService apac) {
// ... }}
![Page 22: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/22.jpg)
springsource.com 22
Using your own @Qualifier annotations
@Emeapublic class EmeaOrderService
implements OrderService {
...}
@Apacpublic class ApacOrderService
implements OrderService { ...
}
@Qualifier@Componentpublic @interface Emea {}
@Qualifier@Componentpublic @interface Apac{}
![Page 23: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/23.jpg)
springsource.com 23
Using your own @Qualifier annotations
<bean class="example.EmeaOrderService"> <qualifier type=“example.Emea“/> <!–- EmeaOrderService need not be annotated -->
</bean>
<bean class="example.ApacOrderService"> <qualifier type=“example.Apac“/> <!-- Inject any dependencies required by this bean --></bean>
![Page 24: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/24.jpg)
springsource.com 24
@Autowired pros and cons
Pros• Capable model• Simple, concise, yet powerful• @Qualifier annotation avoids Spring annotations on target
Cons• Same cons as mentioned earlier for annotation-based DI• Plus @Autowired is a Spring-specific mechanism
• …but you can still invoke the methods as per usual
![Page 25: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/25.jpg)
springsource.com 25
@Resource for injection
@Resource• Identifies injection point
• Resolves to a single component
• Spring does not require that the component comes from JNDI, although Spring can transparently resolve JNDI references
![Page 26: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/26.jpg)
springsource.com 26
public class DefaultAccountService implements AccountService {
@Resource private AccountDAO jdbcAccountDAO; ...}
@Resource Example
![Page 27: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/27.jpg)
springsource.com 27
@Resource Pros and Cons
Pros• Supports Java EE 5 configuration style• May help portability
Cons• Limited power
• @Resource style is not as powerful as @Autowired
• Can only resolve a single reference
• No support for “qualifiers” or annotation resolution
• Forced to import JEE annotations directly into your Java types
![Page 28: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/28.jpg)
springsource.com 28
JSR-250 lifecycle annotations
@PostConstruct• Similar to InitializingBean.afterPropertiesSet()
@PreDestroy• Similar to DisposableBean.destroy()
Best practiceSimple but valuable functionality to standardizeNot Spring specificWe recommend using these annotations in place of Spring init-method or InitializingBean interfaces
![Page 29: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/29.jpg)
springsource.com 29
Agenda
Goals of Spring 2.5
Annotation based Dependency Injection@Component and other stereotype annotationsComponent scanningSpring MVC updateThe future
![Page 30: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/30.jpg)
springsource.com 30
Out-of-the-box stereotype annotations
@Service• Identifies a stateless service
@Repository• Identifies a repository (DAO)
@Aspect• @AspectJ aspect
@Controller• Spring 2.5 @MVC controller
Can define your own…@Component• Meta-annotation
• Annotate your own annotation with @Component and receive component scanning• @Emea example earlier
![Page 31: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/31.jpg)
springsource.com 31
Component Scanning
Scans the classpath for annotated classesRemoves the need for XML definitions unless you want to do something you can’t do in annotations
@Servicepublic class DefaultAccountService { ... }
<bean id="defaultAccountService"class="DefaultAccountService"/>
![Page 32: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/32.jpg)
springsource.com 32
Component Scan Usage
Specify package(s) to pick upCan coexist with XML bean definitions and namespacesAdvanced component scanning syntax also available
<context:component-scan base-package="com.mycompany.myapp"/>
![Page 33: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/33.jpg)
springsource.com 33
Component Scan Pros and cons
Pros• No need for XML unless you really need it• Changes (eg new classes) automatically discovered• Highly configurable if using Spring's @Autowired model
Cons• Not a 100% solution – you'll still need XML sometimes• Avoid excessive classpath scanning• Lack simplified XML application structure
• Unless you use Spring IDE!
You can concurrently mix and match!
![Page 34: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/34.jpg)
springsource.com 34
Spring IDE Visualization and Editing support
Unified view of configuration
![Page 35: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/35.jpg)
springsource.com 35
Agenda
Goals of Spring 2.5
Annotation based Dependency Injection@Component and other stereotype annotationsComponent scanningSpring MVC updateThe future
![Page 36: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/36.jpg)
springsource.com 36
Annotated @MVC Controllers
• Java 5 evolution of MultiActionController• Including form handling capabilities
POJO-based• Just annotate your class• Works in servlet and portlet container
Annotations provided• @Controller• @RequestMapping• @RequestMethod• @RequestParam• @ModelAttribute• @SessionAttributes• @InitBinder
![Page 37: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/37.jpg)
springsource.com 37
Example of Annotated MVC Controller@Controller@RequestMapping("/order/*")public class OrderController {
@Autowired private OrderService orderService;
@RequestMapping("/print.*") public void printOrder(HttpServletRequest request,
OutputStream responseOutputStream) { ... // write directly to the OutputStream: orderService.generatePdf(responseOutputStream); }
@RequestMapping("/display.*") public String displayOrder( @RequestParam("id") int orderId, Model model) { ... model.addAttribute(...); return "displayOrder"; }}
![Page 38: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/38.jpg)
springsource.com 38
Advanced annotation-based MVC
Annotations for • Session attributes
• Data binder initialization
• Form lifecycle
See the PetClinic sample application that ships with Spring• Compare with Spring 1.0 version to see how much simpler today’s
Spring is to use!
![Page 39: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/39.jpg)
springsource.com 39
Agenda
Goals of Spring 2.5
Annotation based Dependency Injection@Component and other stereotype annotationsComponent scanningSpring MVC updateThe future
![Page 40: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/40.jpg)
springsource.com 40
Spring Open Source Ecosystem
The Spring Portfolio
Spring Framework
Spring for .NET
Spring MVC
Spring Batch
AspectJSpring Security
Spring Integration
Spring Webflow
Pitchfork
Spring Web Services
Spring LDAP
Spring Dynamic ModulesSpring IDE
Spring Rich Client
![Page 41: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/41.jpg)
springsource.com 41
Spring Commercial Product Ecosystem
SpringSource Tool Suite• Free for personal use – download it today and quick-start with Spring 2.5!
SpringSource Application Platform• The perfect way to build OSGi applications – today (and free under GPL!)
SpringSource Enterprise• Pre-integrated Spring with 24/365 guaranteed fixes, support, indemnity
SpringSource Application Management Suite• Managing and monitoring your production environment
SpringSource Advanced Pack for Oracle DatabaseSpringSource Enterprise Ready ServerEnterprise Support for HTTPD, Tomcat and ActiveMQ
![Page 42: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/42.jpg)
springsource.com 42
Spring 3.0
Q3, 2008
Moves to Java 5+ basisFurther improvements in Spring MVC will provide a unified programming model between MVC and Web FlowComprehensive REST support across MVC and Web Services
![Page 43: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/43.jpg)
springsource.com 43
Summary
Spring 2.5 makes Spring easier to use, but still more powerfulAdds extensive support for annotations across the frameworkSpring MVC 2.5 leverages Java 5 features to provide more concise, more flexible modelThe Spring Portfolio extends beyond the Spring Framework to handle a wide range of enterprise requirementsSpring 3.0 will continue the rapid progress of Spring to meet tomorrow’s requirementsGrowing set of choices for optimal deployment of Spring based applications
![Page 44: Spring 2.5: New and Notablegotocon.com/dl/jaoo_aus2008/slides/BenAlex_WhatsNewInSpring2.5... · enterprise Java •Gartner: •75% of ... Spring Dynamic Modules provides Spring-OSGi](https://reader035.vdocuments.mx/reader035/viewer/2022081607/5ede1b0aad6a402d66696413/html5/thumbnails/44.jpg)
springsource.com 44
For More Information
Online resources• Spring Framework home: www.springframework.com• SpringSource home: www.springsource.com
Visit the SpringSource booth