Course description
Spring is the leading Java framework for building enterprise software.
This course comprises sessions dealing with Inversion of Control (IoC), Dependency Injection (DI), Container configuration, Aspect Oriented Programming (AOP), testing, transaction management, Spring Boot, Spring Data JPA, Spring Web MVC, REST APIs, Spring Security, and the Actuator.
It is delivered using Spring v6 and Spring Boot v3 (Java v17) though the vast majority of the content is applicable to earlier versions and the trainer will point out the differences.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
Who will the Course Benefit?The Core Spring course will benefit Java developers who are new to Spring and want to develop/contribute large and complex enterprise-level applications.
Course ObjectivesThis course aims to provide the delegate with the knowledge to be able to develop (or contribute to the development of) secure Spring web applications/REST APIs that read from and write to persistent storage.
Upcoming start dates
Suitability - Who should attend?
Delegates attending this course should be competent Java developers who have a good understanding of OO principles and are able to build simple applications that exploit APIs including Collections, IO, and JDBC. Delegates would also benefit from having some previous experience with Servlet programming. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 / Java Developer course.
Experience to the level as demonstrated in this course is recommended:
- Java Programming 1 / Java Developer
Training Course Content
Core Spring Training Course
Course Contents - DAY 1
Course Introduction- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
- About Spring
- Inversion of Control
- The Spring IoC Container
- Spring Beans
- Configuring the container
- Instantiating the container and obtaining beans
- Classpath scanning and managed components
- Dependency Injection
- Autowiring
- Handling multiple candidate dependencies
- Java configuration vs. annotations, and mixing
- Acting on a bean's lifecycle events
- Specifying the scope of a bean
- Composing configurations
- Grouping beans into profiles
- Externalising properties
- Environment abstraction
- Spring Expression Language
Course Contents - DAY 2
Session 4: AOP- About AOP and proxying
- Constructing pointcut expressions
- Advising the target object
- Spring integration testing with JUnit
- Loading and configuring the container
- Setting the active profile(s) and property source(s)
- Handling a dirty context
- Spring's transaction abstraction
- Configuring the data source and transaction manager
- Declarative transaction management
- Programmatic transaction management
- Choosing between the approaches
- Exception translation
- Annotating DAOs with @Repository
- Implementing a DAO using JdbcTemplate
Course Contents - DAY 3
Session 8: MINIMISING CONFIG. WITH SPRING BOOT- Spring Boot: what and why
- Starter dependencies
- Auto-configuration
- Spring Boot annotations
- Creating a simple Spring Boot application
- Configuration properties
- Executing code on startup using CommandLineRunner
- ORM, JPA, and Hibernate
- Entity mapping
- Spring Data repositories
- Persisting entities
- Writing query methods
- Transactionality
- Configuring Spring Data JPA
- The DispatcherServlet
- Request processing
- Building a controller
- Handler method parameters
- Configuring Spring Web MVC
Course Contents - DAY 4
Session 11: REST APIS WITH SPRING WEB MVC- About REST APIs
- Enabling and modifying the MVC Configuration
- @ResponseBody, message conversion, and @RestController
- Content negotiation
- @RequestBody and validation
- @ResponseStatus and exception handling
- The big picture
- Architecture components
- Configuring custom authentication
- Configuring authorisation for access to endpoints
- Configuring authorisation at the method level
- Configuring Spring Security
- About the Actuator
- Exposing endpoints
- Writing custom endpoints
- Dealing with metrics
- Health indicators
- Writing custom health indicators
- Monitoring and management over HTTP & JMX
Customer Outreach Award
We believe that it should be easy for you to find and compare training courses.
Our Customer Outreach Award is presented to trusted providers who are excellent at responding to enquiries, making your search quicker, more efficient and easier, too.
Reviews
Average rating 5
Stuart is a very good trainer. He gives good examples, provides excellent notes, layouts out the plans and explains clearly. I feel that I've gained what I came to do from the c...
Course was very interesting and Stuart made an awesome job teaching and engaging the attendees. Learned quite a lot of new things that I'm excited to try and implement in my day...
Continuing Studies
Further Learning
- Developing Applications with Java EE
- Java Programming 2 / Java Advanced Developer
- Unit Testing with JUnit
- JPA and Hibernate
Request info
Why StayAhead. From a single person on a scheduled course to large scale training projects StayAhead Training have the expertise and experience to help. Established since 1992, StayAhead Training is recognised as one of the leading independent IT Training specialists...
Had a fantastic time on this course. Stuart was very clear in all of his explanations and demonstrations, working at a pace that allowed everyone to keep up. Really good to have...