JA14 - Spring Framework Development - 4 Days

View Dates and Locations

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.

On-site course enquiry (from £165 pp per day)

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


Availability

Course Enquiry