Summary

Spring Framework provides a new framework based on the Model-View-Controller paradigm. However, it is better designed than others frameworks such as Struts because of clear separation between tiers.
The Dependency Injection allows separating configuration and implementation in an efficient way. In addition, you have the opportunity to integrate easily Spring MVC with view technologies or even persistence technologies (Hibernate, EJB).
Other frameworks require you to extend or implement specific classes or interfaces in your own classes. However, an MVC implementation should be non-intrusive, and Spring is. Your domain objects do not need to extend some class, going from view tier to business tier without processing.
Prerequisites
Before attending this course, should have:
Objectives
- Understand the scope, purpose, and architecture of Spring
- Use Spring's Inversion of Control to declare application components, rather than hard-coding their states and lifecycles Use Dependency Injection to further control object relationships from outside the Java code base
- Create validators for business objects, and associate them for application-level and unit-testing uses
- Build a Web application as a Spring DispatcherServlet and associated application context, with declared beans acting as controllers, command objects, and view resolvers
- Build and manage HTML forms with Spring command objects and custom tags
- Use Spring interceptors to implement horizontal features in the Web application
- Connect business objects to persistent stores using Spring's DAO and ORM modules
- Spring Security
Exam Information
There is no exam associated with this course.
Course Outline
Chapter 1: Introduction to Spring • Overview • Spring Characteristics • Spring Modules • The Core Package • The Context Package • The DAO Package • The ORM Package • The AOP Package • The Web Package • The MVC Package • What is new in Spring 2.0? • Hello World in Spring
Chapter 2: Introducing Inversion of Control • Basics – Containers and Beans • The Container • The Factory Pattern • Configuration Methadata • Beans.xml • Instatiating a Container • Dependencies • Injecting Dependencies • Setter Injection • Example: Setter Injection • Constructor Injection • Avoiding Constructor Confusion • Injecting Parameters: Simple Values • Injecting Parameters: Beans in the Same Factory • Injecting Using Bean Aliases • Using Collection For Injection • Auto-Wiring • Auto-Wiring Example
Chapter 3: Managing the Beans • Instantiating Beans Using Constructor • Other than no-args constructor • Instantiating Beans Using Static Factory Method • Bean Scopes • Singleton Scope • The Prototype Scope • Beans Life Cycle Managment • Interface Based Techniques • Method Based Techniques • Destruction Callbacks- Interface Technique • Destruction Callbacks – Method Technuque • BeansFactoryAware Interface
Chapter 4: Aspect Oriented Programming • AOP Concepts • Types of AOP • AOP in Spring • Types of Advice • Hello World in AOP • ProxyFactory Class • Creating Simle Before Advice • Creating After Returning Advice • Choosing an Advice Type • Adisors and Pointcuts. • Pointcuts • Using DefaultPointcutAdvisor • Example: Creating a Static Pointcut • Example: Creating a Dynamic Pointcut
Chapter 5: Web Applications with Spring MVC • Overview • MVC • The Front Controller Pattern • The DispatcherServlet Class • Spring MVC Flow • Spring XML File • Example • Handler Mapping • Controllers • HelloController • Hello World MVC Application • Summary • Working With Forms • Adding a Form • Command Object • Controller Hierarchy • AbstractCommandController • SimpleFormController • Handler Mappings • BeanNameUrlHandlerMapping • SimpleUrlHandlerMapping • Views • Resolving Views • InternalResourceViewResolver • Example
Chapter 6: JDBC • Overview of JDBC • Connecting to the DataBase • Submitting the SQL statements • Retrieving and processing data • Example • Data Access Object • Exercise
Chapter 7: Spring Data Access Using JDBC • Spring JDBC • The package hierarchy • JdbcTemplate • Inserting Data With DJdbcTemplate • Example : Servlet • Example: beans.xml (dataSource) • Example: CustomerDaoJdbcImpl.java • Reading Data With DJdbcTemplate • Example
Chapter 8: Hibernate • Overview • Features Of Hibernate • Hibernate Architecture • Integrated Hibernate With Java • Main Components Of Hibernate • Commonly Used Classes of Hibernate • Example • Creating Persistence Java Objects • Mapping Persistent Object • Hibernate Configuration File • Inserting New Record • Deleting a Record • Quering the database • Example • Exercise • Integrating Hibernate With Spring • Using Hibernate Template • LocalSessionFactory • Accessing Data Through The Hibernate Template • Example Chapter 9: Java Persistence API (JPA) • Introducing JPA • Hibernate And JPA • Using Annotation • Using Hibernate EntityManager • persistence.xml • Hibernate_JPA Project • Example • Spring DAO • Using JPA Template • Using CustomerJpaDAO • Example
Chapter 10: Spring Validation • Spring Validation Approach • Spring Options • Programmatically Option • Validator Class • XML file • Writing JSP • Example
Chapter 11: Filters • Filters • Creating Basic Filters • Filter Mapping • Examples
Chapter 12: Spring Security (Part 1) • Overview • How Web Security Works • Security Definitions • The Four Checks • Filters • FilterToBeanProxy • FilterChainProxy • Configuration • The Filter Chain • AuthenticationProcessingFilter • The HttpSessionContextIntegrationFilter • The ExceptionTranslationFilter • FilterSecurityInterceptor • AuthenticationManager • AccessDecisionManager • AuthenticationEntryPoint • Securing Web Resources • Example • Securing Method Invocation • Example • View-layer security • Example • Summary • Example
Chapter 13: Spring Security (Part 2) • What is Spring Security 2.0? • web.xml Changes • web.xml • A Minimal <http> Configuration • <http> Tag • <authentication-provider> Tag • Adding a Password Encoder • Example: Securing Web Resources • Method Security • The <global-method-security> Tag • @Secured Annotation • Example: Method Security • Adding Security Pointcuts using protect-pointcut • The intercept-methods Bean Decorator
Appendix: • Spring MVC Greeting • Hibernate Example |