Programming with Spring Framework

About this workshop
Programming with Spring Framework provides students with the knowledge and skills on developing, debugging, and testing Web-based server-side applications with Spring. Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002). The Spring Framework is licensed under the terms of the Apache License, Version 2.0.

Duration
2 days
9am ~ 5pm

Fee & Contact
RM 3,500.00/pax
Feel free to contact for group booking & discount. Feel free to contact wan-kheeyan@k365labs.com for onsite delivery

Audience
Java application developers, who build Web-based server-side applications.

Skill level
Intermediate

Upon completion
Participants will be able to:
· Describe Spring.
· Develop, debug, and test Web-based server-side applications with Spring

Outline

· Module 1: Beans, BeanFactory and the ApplicationContext
- Introduction
- BeanFactory and BeanDefinitions - the basics
- Properties, collaborators, autowiring and dependency checking
- Customizing the nature of a bean
- Abstract and child bean definitions
- Interacting with the BeanFactory
- Customizing beans with BeanPostProcessors
- Customizing bean factories with BeanFactoryPostProcessors
- Registering additional custom PropertyEditors
- Using the alias element to add aliases for existing beans
- Introduction to the ApplicationContext
- Added functionality of the ApplicationContext
- Customized behavior in the ApplicationContext
- Registering additional custom PropertyEditors
- Setting a bean property or constructor arg from a property expression
- Setting a bean property or constructor arg from a field value
- Invoking another method and optionally using the return value.
- Importing Bean Definitions from One File Into Another
- Creating an ApplicationContext from a web application
- Glue code and the evil singleton

· Module 2: Abstracting Access to Low-Level Resources
- Overview
- The Resource interface
- Built-in Resource implementations
- The ResourceLoader Interface
- The ResourceLoaderAware interface
- Setting Resources as properties
- Application contexts and Resource paths

· Module 3: PropertyEditors, data binding, validation and the BeanWrapper
- Introduction
- Binding data using the DataBinder
- Bean manipulation and the BeanWrapper
- Setting and getting basic and nested properties
- Validation using Spring's Validator interface
- The Errors interface
- Resolving codes to error messages

· Module 4: Spring AOP: Aspect Oriented Programming with Spring
- Concepts
- Pointcuts in Spring
- Advice types in Spring
- Advisors in Spring
- Using the ProxyFactoryBean to create AOP proxies
- Convenient proxy creation
- Concise proxy definitions
- Creating AOP proxies programmatically with the ProxyFactory
- Manipulating advised objects
- Using the "autoproxy" facility
- Using TargetSources
- Defining new Advice types
- Further reading and resources

· Module 5: AspectJ Integration
- Overview
- Configuring AspectJ aspects using Spring IoC
- Using AspectJ pointcuts to target Spring advice
- Spring aspects for AspectJ

· Module 6: Transaction management
- The Spring transaction abstraction
- Transaction strategies
- Resource synchronization with transactions
- Programmatic transaction management
- Declarative transaction management
- Choosing between programmatic and declarative transaction management
- Do you need an application server for transaction management?
- AppServer-specific integration
- Common problems

· Module 7: Source Level Metadata Support
- Source-level metadata
- Spring's metadata support
- Integration with Jakarta Commons Attributes
- Metadata and Spring AOP autoproxying
- Using attributes to minimize MVC web tier configuration
- Other uses of metadata attributes
- Adding support for additional metadata APIs

· Module 8: DAO support
- Introduction
- Consistent Exception Hierarchy
- Consistent Abstract Classes for DAO Support

· Module 9: Data Access using JDBC
- Introduction
- Using the JDBC Core classes to control basic JDBC processing and error handling
- Controlling how we connect to the database
- Modeling JDBC operations as Java objects

· Module 10: Data Access using O/R Mappers
- Introduction
- Hibernate
- JDO
- Oracle TopLink
- Apache OJB
- iBATIS SQL Maps

· Module 11: Web MVC framework
- Introduction to the web MVC framework
- The DispatcherServlet
- Controllers
- Handler mappings
- Views and resolving them
- Using locales
- Using themes
- Spring's multipart (fileupload) support
- Handling exceptions

· Module 12: Integrating view technologies
- Introduction
- JSP & JSTL
- Tiles
- velocity.properties
- XSLT
- Document view definitions
- JasperReports

Our past activities

K365Labs on Facebook