Back

STA_SPRINGC: Core Spring

-
+

NOK 29.900


Core Spring Course Overview 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.

TARGET AUDIENCE:
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 PREREQUISITES:
Requirements 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.

COURSE CONTENT:
Core Spring Training Course Course Contents – DAY 1 Course Introduction • Administration and Course Materials • Course Structure and Agenda • Delegate and Trainer Introductions Session 1: INTRODUCTION TO SPRING & IOC • About Spring • Inversion of Control • The Spring IoC Container • Spring Beans • Configuring the container • Instantiating the container and obtaining beans Session 2: ANNOTATION-BASED CONTAINER CONFIG. & DI • Classpath scanning and managed components • Stereotype annotations • Dependency Injection • Autowiring • Handling multiple candidate dependencies • Java configuration vs. annotations,and mixing Session 3: MORE CONTAINER CONFIG. • Bean lifecycle and post processors • 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 Core Spring Training Course Course Contents – DAY 2 Session 4: AOP • About AOP and proxying • Constructing pointcut expressions • Advising the target object Session 5: TESTING • Spring integration testing with JUnit • Loading and configuring the container • Setting the active profile(s) and property source(s) Session 6: TRANSACTION MANAGEMENT • Spring's transaction abstraction • Configuring the data source and transaction manager • Transaction configuration,e.g. propagation and rollback rules • Declarative transaction management • Programmatic transaction management • Choosing between the approaches Core Spring Training Course Course Contents – DAY 3 Session 7: ACCESSING DATA & JDBC • Exception translation • Implementing a DAO using JdbcTemplate • Using callbacks to handle results • Managing data access exceptions 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 • Testing in Spring Boot Session 9: DATA PERSISTENCE WITH SPRING DATA JPA • Creating a Spring JPA app with Spring Boot • ORM,JPA,and Hibernate • Entity mapping • Spring Data repositories • Persisting entities • Writing query methods • Transactionality • Testing a Spring JPA app including @DataJpaTest Core Spring Training Course Course Contents – DAY 4 Session 10: WEB APPS WITH SPRING WEB MVC • Creating a Spring MVC app with Spring Boot • The request processing lifecycle • Building a controller • Handler method parameters • View templates • Testing a Spring MVC app including @WebMvcTest • Configuring a Spring MVC app for deployment Session 11: REST APIS WITH SPRING WEB MVC • About REST APIs • @ResponseBody,message conversion,and @RestController • @RequestBody and validation • @ResponseStatus and exception handling • Testing a REST API including @WebMvcTest • Using RestTemplate to invoke REST services Core Spring Training Course Course Contents – DAY 5 Session 12: SECURING AN APP WITH SPRING SECURITY • The big picture • Architecture components • Configuring custom authentication • Configuring authorisation for access to endpoints • Configuring authorisation at the method level • Configuring Spring Security Session 13: SPRING BOOT ACTUATOR • About the Actuator • Exposing endpoints • Writing custom endpoints • Dealing with metrics • Health indicators • Writing custom health indicators • Monitoring and management over HTTP & JMX

COURSE OBJECTIVE:
Course Objectives This 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.

FOLLOW ON COURSES:
Further Learning Developing Applications with Java EE Java Programming 2 / Java Advanced Developer Unit Testing with JUnit JPA and Hibernate