Introduction to Spring [email_address]
What is Spring Java/JEE Application Framework Main target: JEE Web Applications Apache 2 License Hosted on SourceForge Business objects as POJO
Integration O/R Mapping tools JDBC, Hibernate, JDO, iBatis, etc Web Frameworks Spring-WebMVC, Struts, Tapestry, etc  Remoting Protocols RMI, JAX-RPC, HTTP, Hessian, Burlap,
Hollywood Principle “ Don't call me, I'll call you” Inversion of Control spring-ioc as core module objects/components are configured from the outside Dependency Injection  setter based (JavaBeans) constructor based service lookup (jndi, ...)
core concepts Composition a pojo is flat by nature Lifecycle management BeanFactory  Binding management (auto) wiring  by name, by type, ...
hello world <bean id=”client” class=”Client”> <property name=”server”> <ref bean=”server”/> </bean> <bean id=server” class=”Server”/>
another example <bean id=”dao” class=”MyDao”> <property name=”dataSource”> <ref bean=”dataSource”/> </bean> <!--local--> <bean id=”dataSource class=”BasicDataSource”> <property name=”driverClassName” value=””/> <property name=”url” value=”..”/> </bean> <bean id=”remoteDataSource” class=”org.springframework.jndi.JndiObjectFactoryBean”> <property name=”...” > </bean> To change datasource, change the value referenced in the dao component
Spring + AOP Spring v 1.x : proxies around pojos Spring 2.x : proxies + aspectj load-time weaving
Spring + SCA

Spring Intro

  • 1.
    Introduction to Spring[email_address]
  • 2.
    What is SpringJava/JEE Application Framework Main target: JEE Web Applications Apache 2 License Hosted on SourceForge Business objects as POJO
  • 3.
    Integration O/R Mappingtools JDBC, Hibernate, JDO, iBatis, etc Web Frameworks Spring-WebMVC, Struts, Tapestry, etc Remoting Protocols RMI, JAX-RPC, HTTP, Hessian, Burlap,
  • 4.
    Hollywood Principle “Don't call me, I'll call you” Inversion of Control spring-ioc as core module objects/components are configured from the outside Dependency Injection setter based (JavaBeans) constructor based service lookup (jndi, ...)
  • 5.
    core concepts Compositiona pojo is flat by nature Lifecycle management BeanFactory Binding management (auto) wiring by name, by type, ...
  • 6.
    hello world <beanid=”client” class=”Client”> <property name=”server”> <ref bean=”server”/> </bean> <bean id=server” class=”Server”/>
  • 7.
    another example <beanid=”dao” class=”MyDao”> <property name=”dataSource”> <ref bean=”dataSource”/> </bean> <!--local--> <bean id=”dataSource class=”BasicDataSource”> <property name=”driverClassName” value=””/> <property name=”url” value=”..”/> </bean> <bean id=”remoteDataSource” class=”org.springframework.jndi.JndiObjectFactoryBean”> <property name=”...” > </bean> To change datasource, change the value referenced in the dao component
  • 8.
    Spring + AOPSpring v 1.x : proxies around pojos Spring 2.x : proxies + aspectj load-time weaving
  • 9.