Over the past decade Spring has become the framework of choice for Java projects of all sizes and complexity. The reason? By providing a simple and non-intrusive programming model, Spring allows developers to quickly and easily write complex applications, free from the common infrastructural code that litters so many application stacks.

This courses introduces the core Spring framework, demonstrating how it can be used to build simpler and better applications of all shapes and sizes.



  • The History of Spring

IoC Container

  • Dependency Injection
  • The Bean Factory/Application Context
  • Constructor/Setter Injection
  • Bean Definitions
  • XML configuration
  • Factory Beans
  • Bean Post Processors
  • Bean Factory Post Processors
  • Lifecycle Callbacks
  • JSR 250 Annotations
  • @Autowired/@Qualifier/@Required/@Resource
  • Schema-based Configuration
  • Programmatic Configuration

Spring AOP

  • Annotations
  • Proxy-Based AOP
  • Class-Weaving AOP
  • Pointcuts
  • Advice/Advisors/Interceptors
  • AspectJ
  • ProxyFactoryBean
  • Autoproxying

JDBC Abstraction

  • JDBC Template
  • Transactional and Resource Management

Spring 4 MVC

  • WebApplicationContext
  • DispatcherServlet
  • @Controller
  • Request Mapping
  • URI Templates
  • View Resolvers
  • Validation
  • The Model
  • Forms
  • Remoting Spring DM
  • Spring JMX Object/Relational Mapping
  • Testing with Spring
  • Designing Applications With Spring