Spring Framework Development
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.
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.
Course Duration
4 days
Course Objectives
Following course completion, delegates will know how to:
- Create and use beans
- Implement dependency injection
- Use Aspect-oriented programming with Spring
- Use Spring data access and transaction APIs
- Create Spring MVC Web applications
- Define and use Web services using Spring
- Use Spring Integration
Course Content
Spring Framework - Essentials
Using Inversion of Control (IoC)
More about Spring Bean Configuration
Java-Based Bean Configuration
Understanding the Application Context Lifecycle
Aspect-Oriented Programming (AOP)
Spring Data Access
Spring Transactions
Creating Web Applications with Spring Web MVC
Going Further with Spring Web MVC
Spring Web Services
Spring Integration
Going Further with Spring Data
Spring Web Security
Spring Web Flow
Spring Messaging
Spring Java Management Extensions (JMX)
Spring Batch
- 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
Who should attend?
This course is for software programmers that want to learn about the Spring Framework.
Pre-requisites
Delegates should have at least 6 months Java programming experience.