The future of IBM Maximo: How Work Centers and Inspections can transform your business

closeClose

Core Spring

  • Tuition USD $2,790 GSA  $2,529.97
  • Reviews star_rate star_rate star_rate star_rate star_half 361 Ratings
  • Course Code SP-CORE
  • Duration 4 days
  • Available Formats Classroom, Virtual

This course offers hands-on experience with Spring and its major features, including configuration, data access, web and REST applications, Spring Boot, Spring Security and using Spring Cloud to build a small microservices application. On completion, participants will have a foundation for creating enterprise-ready applications. This course prepares students for the Spring Professional certification exam. One free exam attempt is included in the cost of the course.

Skills Gained

Upon completion of this course, participants will understand how to implement the following:

  • Spring configuration using Java Configuration and Annotations
  • Aspect oriented programming with Spring
  • Testing Spring applications using JUnit 5
  • Spring Data Access - JDBC, JPA and Spring Data
  • Spring Transaction Management
  • Simplifying applications with Spring Boot
  • Spring Boot auto-configuration, starters and properties
  • Build a simple MVC application using Spring Boot, embedded Web Server and fat JARs or classic WARs
  • Implementing REST with Spring MVC and RestTemplate
  • Spring Security
  • Enable and extend metrics and monitoring capabilities using Spring Boot actuator
  • Utilize Spring Boot enhancements to testing

Who Can Benefit

Application developers who want to increase their understanding of Spring and Spring Boot with hands-on experience and a focus on fundamentals.

Prerequisites

Good understanding of web-application development using Java, an IDE (Eclipse, STS or IntelliJ) and a Servlet engine such as Tomcat or Jetty, specific Java concepts (annotations and lambdas) and dependency management using Maven or Gradle.

Course Details

Course Modules

INTRODUCTION TO SPRING

  • Java configuration and the Spring application context
  • @Configuration and @Bean annotations
  • @Import: working with multiple configuration files
  • Defining bean scopes
  • Launching a Spring Application and obtaining Beans

SPRING JAVA CONFIGURATION: A DEEPER LOOK

  • External properties & Property sources
  • Environment abstraction
  • Using bean profiles
  • Spring Expression Language (SpEL)
  • How it Works: Inheritance based proxies

ANNOTATION-BASED DEPENDENCY INJECTION

  • Autowiring and component scanning
  • Java configuration versus annotations, mixing.
  • Lifecycle annotations: @PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations

FACTORY PATTERN IN SPRING

  • Using Spring FactoryBeans

ADVANCED SPRING: HOW DOES SPRING WORK INTERNALLY?

  • The Spring Bean Lifecycle
  • The BeanFactoryPostProcessor interception point
  • The BeanPostProcessor interception point
  • Spring Bean Proxies
  • @Bean method return types

ASPECT-ORIENTED PROGRAMMING

  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: @Around, @Before, @After

TESTING A SPRING-BASED APPLICATION

  • Spring and Test Driven Development
  • Spring 5 integration testing with JUnit 5
  • Application context caching and the @DirtiesContext annotation
  • Profile selection with @ActiveProfiles
  • Easy test data setup with @Sql

DATA ACCESS AND JDBC WITH SPRING

  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable
  • Embedded databases for testing
  • Spring‘s JdbcTemplate

DATABASE TRANSACTIONS WITH SPRING

  • Transactions overview
  • Transaction management with Spring
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and integration testing

SPRING BOOT INTRODUCTION

  • Introduction to Spring Boot
  • Value Proposition of Spring Boot
  • Creating a simple Boot application using Spring Initializr web-site

SPRING BOOT DEPENDENCIES, AUTO-CONFIGURATION AND RUNTIME

  • Dependency management using Spring Boot starters
  • How auto-configuration works
  • Configuration properties
  • Overriding auto-configuration
  • Using CommandLineRunner

JPA WITH SPRING AND SPRING DATA

  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Configuring Spring JPA using Spring Boot
  • Spring Data JPA dynamic repositories

SPRING MVC ARCHITECTURE AND OVERVIEW

  • Introduction to Spring MVC and request processing
  • Controller method signatures
  • Using @Controller, @RestController and @GetMapping annotations
  • Configuring Spring MVC with Spring Boot
  • Spring Boot packaging options, JAR or WAR

REST WITH SPRING MVC

  • An introduction to the REST architectural style
  • Controlling HTTP response codes with @ResponseStatus
  • Implementing REST with Spring MVC, @RequestMapping, @RequestBody and @ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation

SPRING SECURITY

  • What problems does Spring Security solve?
  • Configuring authentication
  • Implementing authorization by intercepting URLs
  • Authorization at the Java method level
  • Understanding the Spring Security filter chain

ACTUATORS, METRICS AND HEALTH INDICATORS

  • Enabling Spring Boot Actuator
  • Custom Metrics
  • Health Indicators
  • Creating custom Health Indicators
  • External monitoring systems

SPRING BOOT TESTING ENHANCEMENTS

  • Spring Boot testing overview
  • Integration testing and slices
  • Slices to test different layers of the application

SPRING SECURITY OAUTH (Optional Topic)

  • OAuth 2 Overview
  • Implementing OAuth 2 using Spring Security OAuth

REACTIVE APPLICATIONS WITH SPRING (Optional Topic)

  • Overview of Reactive Programming concepts
  • Reactive Programming support in Spring
  • Using Spring’s reactive WebClient

How do I enroll?

A comprehensive listing of ExitCertified courses can be found here. You can register directly for the required course/location when you select "register". If you have any questions or prefer to speak with an ExitCertified education consultant directly, please submit your query here. A representative will contact you shortly.

How do I pay for a class?

You can pay at the time of registration using credit card (Mastercard/Visa/American Express) cheque or PO.

What if I have training credits?

ExitCertified honors all savings programs from the partners we work with. ExitCertified also offers training credits across multiple partners through our FLEX Account.

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Lunchtime?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

very good... also gave relevant examples to our current business requirements.

ExcitCertified(Tech Data) was great and I enjoyed my experience with them. Looking forward to taking more courses with them!

An excellent course for beginners looking to take their Cloud practitioner exam and getting the fundamental knowledge about AWS

Excellent course. Ruben Lopez is an outstanding instructor. Learned tons of information. Would recommend ExitCertified to anyone!

This course helped me prepare for my AWS certifications. Highly recommended! Great instructors! My entire experience has been great in terms of signing up and taking the classes.

23 options found

undo
  • Aug 4, 2020 Aug 7, 2020 (4 days)
    Location
    iMVP
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Aug 25, 2020 Aug 28, 2020 (4 days)
    Location
    iMVP
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Sep 15, 2020 Sep 18, 2020 (4 days)
    Location
    San Francisco, CA
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Sep 15, 2020 Sep 18, 2020 (4 days)
    Location
    MVP Sacramento, CA
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Sep 15, 2020 Sep 18, 2020 (4 days)
    Location
    iMVP
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    McLean, VA
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    MVP Ottawa, ON
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    MVP King of Prussia, PA
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    MVP Toronto, ON
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    MVP Edison, NJ
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 6, 2020 Oct 9, 2020 (4 days)
    Location
    iMVP
    Language
    English
    Time
    9:00AM 5:00PM EDT
    Enroll
    Enroll
  • Oct 27, 2020 Oct 30, 2020 (4 days)
    Location
    San Francisco, CA
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Oct 27, 2020 Oct 30, 2020 (4 days)
    Location
    MVP Sacramento, CA
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Oct 27, 2020 Oct 30, 2020 (4 days)
    Location
    iMVP
    Language
    English
    Time
    9:00AM 5:00PM PDT
    Enroll
    Enroll
  • Nov 17, 2020 Nov 20, 2020 (4 days)
    Location
    McLean, VA
    Language
    English
    Time
    9:00AM 5:00PM EST
    Enroll
    Enroll
Contact Us 1-800-803-3948
Contact Us Live Chat
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward