Getting Started
  • What is Spring?
  • About Spring 4, and bug fix for final project
  • Setting Up Your System
  • Introducing Maven
  • Using Maven on the Command Line
  • Spring "Hello World"
  • Class Path Contexts
Basic Bean Configuration
  • Constructor Arguments
  • Setting Bean Properties
  • Dependency Injection
  • Bean Scope
  • Init and Destroy Methods
  • Factory Beans and Methods
  • The P Namespace
  • Setting List Properties
  • Lists of Beans
  • Inner Beans
  • Property Maps
  • Arbitrary Maps as Bean Properties
Autowiring
  • Autowiring by Type
  • Autowiring by Name
  • Autowiring by Constructor
  • Default Autowiring
  • Removing Autowire Ambiguities
Wiring with Annotations
  • Adding Support for Annotation-Based Wiring
  • The "Autowired" Annotation
  • Optional Beans
  • Using Qualifiers
  • The Resource Annotation (JSR-250)
  • Annotation-Based Init and Destroy Methods
  • The Inject annotation (JSR-330)
  • Automatic Bean Discovery
  • Setting Property Values via Annotations
Spring Expression Language (SPEL)
  • Introducing SPEL
  • Using SPEL with Annotations
  • Some useful SPEL Operators
Working with Databases
  • Creating a Database with MySQL
  • Using Property Files
  • Implementing the DAO Pattern
  • Downloading a Connector Jar
  • Configuring Connection Pooling with Apache DBCP
  • JDBC Templates
  • Querying the Database
  • Database Exceptions
  • Named Parameters
  • Update Statements
  • Getting Placeholder Values from Beans
  • Adding an Update Method to the DAO
  • Batch Updates: Prepared Statements
  • Transactions
Web Application Basics with Spring MVC
  • A Basic Non-Spring Web App
  • Bringing in Maven
  • The Dispatcher Servlet
  • Adding a Controller
  • View Resolvers
  • Adding Data to the Session
  • Using Spring Data Models
  • Using JSTL (JSP Standard Tag Library)
  • Configuring a JNDI Data Source
  • Bringing in the DAO Code
  • Loading Bean Containers with ContextLoaderListener
  • Creating a Datasource Bean
  • Adding a Service Layer
  • Adding a New Controller
  • Getting URL Parameters
Working with Web Forms
  • Creating a Form
  • Getting Form Values
  • Adding CSS Styles
  • Serving Static Resources
  • Adding Hibernate Form Validation Support
  • More Form Validation Tags
  • Making Forms Remember Values
  • Displaying Form Validation Errors
  • Creating a Custom Validation Annotation
  • Hooking Up the Controller and Database Code
  • Exception Handling in Spring MVC
Aspect-Oriented Programming (AOP)
  • A Base Project for Working with Aspects
  • A Simple Aspect Example
  • Annotation-Based Aspects
  • Wildcards in Pointcut Expressions
  • Advice Types: After, Around and Others
  • Proxies, Interfaces and Aspects
  • The “Within” Pointcut Designator
  • “This”, “Target” and Matching Subpackages
  • Annotation-Specific PCDs
  • The “Bean” PCD
  • The “Args” PCD
  • Getting Target Method Arguments
  • Getting Arguments Using “Args”
  • Combining Pointcuts
  • Introductions: Adding Functionality Using Aspects