JA14 - Spring Framework Development
Duration4 Days (customisation)
Availability

Course Description

The Spring Framework is one of the leading lightweight architectures for creating enterprise-scale applications in Java. This course describes how to use Spring to create Web applications, Web services, middle-tier components, data-access components using JDBC, and messaging components using JMS.

You will also learn how to use Inversion of Control (IoC) and Dependency Injection to minimize dependencies and to achieve Test-Driven Development, and how to use Aspect-Oriented Programming (AOP) to implement cross-cutting functionality.

The course includes several optional chapters that can be covered if required, such as Spring Security, Spring Batch, and Spring Web Flow.

Pre-requisites

At least 6 months Java programming experience

Objectives

What you will learn:

  • Creating and using beans
  • Implementing dependency injection
  • Aspect-oriented programming using Spring
  • Using Spring data access and transaction APIs
  • Creating Spring MVC Web applications
  • Defining and using Web services using Spring
  • Using Spring Integration

Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

Course Details

Spring Framework - Essentials
Overview of Spring
Dependency injection and Inversion of Control (IoC)
Aspect-Oriented Programming (AOP) with Spring
Test-Driven Development principles
Defining a first application
Using Inversion of Control (IoC)
Implementing IoC in Spring
Implementing dependency injection via beans and bean factories
Spring bean definition profiles and environments
More about Spring Bean Configuration
Property editors
Type converters
Autowiring and component scanning
Spring Expression Language
Spring unified property management
Bean definition profiles
Caching
Java-Based Bean Configuration
Using the @Configuration annotation
Dependency injection in Java-based configuration
Using Spring support for XML namespaces in Java-based configuration
Accessing properties
Understanding the Application Context Lifecycle
Bean factory post processing
Bean post processing
Implementing @PostConstruct and @PreDestroy methods
Understanding dynamic proxies
Aspect-Oriented Programming (AOP)
Spring AOP architecture
Defining pointcuts
Defining joinpoints
Implementing advice methods
Understanding pointcut designators
Implementing introductions
Spring Data Access
Spring data access concepts
JdbcTemplate
Spring repositories and application architecture
JPA integration
Hibernate integration
Spring Transactions
Local vs. global transactions
Understanding PlatformTransactionManager
Declarative transactions
@Transactional
Advising transactions
Roll-backs
Bean-specific transactions
Creating Web Applications with Spring Web MVC
Overview of MVC
Spring MVC implementation
Configuring a dispatcher servlet
Defining a controller
Mapping request parameters
Mapping path variables
Accessing HTTP cookies, headers, and session state
Going Further with Spring Web MVC
Form handing
Formatting
Validation
Java-based MVC configuration
Ajax support
Asynchronous requests
Spring Web Services
Hosting SOAP web services in Spring
Implementing RESTful services
Using Spring REST annotations
Implementing RESTful clients
Spring Integration
Overview of Spring Integration
Adapters
Using Spring Integration as an alternative to Enterprise Service Buses
Going Further with Spring Data
Prepared statements
Batch updates
Stored procedures
Handling large objects
Spring Web Security
Understanding security issues
Using Spring Web security
Configuring authentication
Accessing security information in JSP pages
Securing the application layer
Spring Web Flow
Overview of Spring Web Flow
Spring Web Flow Definitions
Configuring Spring Web Flows
Defining steps and transitions
Defining views
Decision states and action states
Spring Messaging
Introduction to Java Message Service (JMS)
Spring JMS support
Sending and receiving messages
Spring Java Management Extensions (JMX)
Introduction to JMX
Exporting Spring beans as MBeans
Customizing management interfaces
Spring Batch
Introduction to Spring Batch
Configuring Spring Batch beans
Implementing a job
Launching a job