Thomas Wiradikusuma http://www.wiradikusuma.com Java User Group Indonesia JaMU 07.05 May 26, 2007 Exposed
What is Spring? Spring is a lightweight container, with wrappers that make it easy to use many different services and frameworks. Lightweight containers accept any JavaBean, instead of specific types of components.  Spring is very popular Spring is for lightweight enterprise Java J2EE should be easier to use It's best to program to interfaces, rather than classes JavaBeans offer a great way of configuring applications OO design is more important than any implementation technology Checked exceptions are overused in Java Testability is essential
Why use Spring? The most complete lightweight container , providing centralized, automated configuration and wiring of your application objects. The container is  non-invasive , capable of assembling a complex system from a set of loosely-coupled components (POJOs) in a consistent and transparent fashion.   A common abstraction layer for transaction management , allowing for pluggable transaction managers, and making it easy to demarcate transactions without dealing with low-level issues.  A JDBC abstraction layer  that simplifies error handling and greatly reduces the amount of code you'll need to write.  Integration with TopLink, Hibernate, JDO, and iBATIS SQL Maps , in terms of resource holders, DAO implementation support and transaction strategies.  AOP functionality , fully integrated into Spring configuration management.  A flexible MVC web application framework , highly configurable, accommodates multiple view technologies (JSP, Velocity, etc).
Real world usages Voca , core systems Virgin Mobile UK , B2C website The European Patent Office , publicly accessed system across 25 countries French Tax Authority , migration of systems built on EJB 2.x  Dekabank  (major German domestic bank), multi-channel, mission-critical trading application  Symantec Corp. , technical support case tracking tool US National Healthcare Provider System , portal providing fee information  JP Morgan Chase FA Premier League , football  World of Warcraft , gaming Confluence , enterprise knowledge base/wiki Alfresco , open-standards content repository Liferay Portal , open-source portal platform Banking and finance, high-volume websites, health and pharmaceutical engineering, education, government, media and publishing
What’s new in Spring 2.0 Inversion of Control (IoC) container Easier XML configuration New bean scopes Extensible XML authoring Aspect Oriented Programming (AOP) Easier AOP XML configuration Support for @AspectJ aspects The Middle Tier Easier configuration of declarative transactions in XML JPA Asynchronous JMS Easier JDBC programming The Web Tier A form tag library for SpringMVC Sensible defaulting in SpringMVC Portlet framework Everything else Dynamic language support JMX Task scheduling Java 5 (Tiger) support
What’s new in Spring 2.1 Annotation-based configuration JCA-based message endpoint management  New "context" and "jms" XML configuration namespaces  JDK 1.6 and Java EE 5 support  Currently M1 (GA in May 2006)
Similar configuration-related projects Spring-Annotation a library that enables the use or annotations to configure your application using spring-framework as a backend.  Spring Java Configuration Project an experiment in producing a Java-based alternative to configuring Spring Application Contexts

Spring 2.1 Exposed

  • 1.
    Thomas Wiradikusuma http://www.wiradikusuma.comJava User Group Indonesia JaMU 07.05 May 26, 2007 Exposed
  • 2.
    What is Spring?Spring is a lightweight container, with wrappers that make it easy to use many different services and frameworks. Lightweight containers accept any JavaBean, instead of specific types of components. Spring is very popular Spring is for lightweight enterprise Java J2EE should be easier to use It's best to program to interfaces, rather than classes JavaBeans offer a great way of configuring applications OO design is more important than any implementation technology Checked exceptions are overused in Java Testability is essential
  • 3.
    Why use Spring?The most complete lightweight container , providing centralized, automated configuration and wiring of your application objects. The container is non-invasive , capable of assembling a complex system from a set of loosely-coupled components (POJOs) in a consistent and transparent fashion.  A common abstraction layer for transaction management , allowing for pluggable transaction managers, and making it easy to demarcate transactions without dealing with low-level issues. A JDBC abstraction layer that simplifies error handling and greatly reduces the amount of code you'll need to write. Integration with TopLink, Hibernate, JDO, and iBATIS SQL Maps , in terms of resource holders, DAO implementation support and transaction strategies. AOP functionality , fully integrated into Spring configuration management. A flexible MVC web application framework , highly configurable, accommodates multiple view technologies (JSP, Velocity, etc).
  • 4.
    Real world usagesVoca , core systems Virgin Mobile UK , B2C website The European Patent Office , publicly accessed system across 25 countries French Tax Authority , migration of systems built on EJB 2.x Dekabank (major German domestic bank), multi-channel, mission-critical trading application Symantec Corp. , technical support case tracking tool US National Healthcare Provider System , portal providing fee information JP Morgan Chase FA Premier League , football World of Warcraft , gaming Confluence , enterprise knowledge base/wiki Alfresco , open-standards content repository Liferay Portal , open-source portal platform Banking and finance, high-volume websites, health and pharmaceutical engineering, education, government, media and publishing
  • 5.
    What’s new inSpring 2.0 Inversion of Control (IoC) container Easier XML configuration New bean scopes Extensible XML authoring Aspect Oriented Programming (AOP) Easier AOP XML configuration Support for @AspectJ aspects The Middle Tier Easier configuration of declarative transactions in XML JPA Asynchronous JMS Easier JDBC programming The Web Tier A form tag library for SpringMVC Sensible defaulting in SpringMVC Portlet framework Everything else Dynamic language support JMX Task scheduling Java 5 (Tiger) support
  • 6.
    What’s new inSpring 2.1 Annotation-based configuration JCA-based message endpoint management New "context" and "jms" XML configuration namespaces JDK 1.6 and Java EE 5 support Currently M1 (GA in May 2006)
  • 7.
    Similar configuration-related projectsSpring-Annotation a library that enables the use or annotations to configure your application using spring-framework as a backend. Spring Java Configuration Project an experiment in producing a Java-based alternative to configuring Spring Application Contexts