Spring Framework with JPA, SpringBoot & SpringCloud

מק"ט: #43580 | משך קורס: 40 שעות אק'
| מספר מפגשים: 5

Spring Framework is the next generation of the popular open source framework for Enterprise Java developers. Spring facilitates a dynamic framework for high productivity, modular and maintainable applications and system development.
This course details about Spring architecture, AOP principle and configuration and explores the main enterprise features in the framework as well as common and up to date programming models provided by Spring framework. It takes you from the basics of factoring objects with Spring, through its most popular extensions and integration with Tomcat, MySQL (or any RDBMS), MongoDB (or any NoSQL DB), Kafka, RabbitMQ and testing with Junit & Mockito.
This course also covers Microservices and REST and provides hands-on experience with SpringMVC, SpringBoot & SpringCloud

לפרטים נוספים, מלא את פרטיך או התקשר 03-7100673
*שדות חובה
PDF version

קהל יעד

  • Java developers that want to use Spring Framework
  • Java web developers that want build web modules with SpringMVC
  • Developers that want to implement O/R Mapping with Spring Data & JPA(Hibernate)
  • Java web developers that want to use SpringBoot for Microservices
  • Java developers that want to abstract cloud configurations with SpringCloud  

תנאי קדם

  • Experience in JavaSE
  • Basic experience in Java sever-side development
  • Familiarity with java server side technologies (Servlets/JAX-RS/EJB)

נושאים

Introduction to the Spring Framework

  • Goal of the Spring Framework
  • Loose abstract coupling
  • Relevant design patterns

The Inversion of Control (IoC) container

  • IoC and Dependency Injection
  • Create bean definitions
  • Constructor injection
  • Setter injection
  • Factory-method injection
  • ApplicationContext

Lifecycle of a bean

  • Lifecycle phases of a bean
  • Lifecycle callback methods
  • Post-processors

Spring Annotations

  • Dependency injections
  • Auto-wiring
  • Lifecycle events
  • Configuration

Introduction to Spring AOP

  • Basics of Aspect Oriented Programming
  • Pointcuts and advices
  • Spring AOP / AspectJ

Basic Data access with Spring

  • Spring's resource management
  • Spring's JDBC support for data access
  • Spring Data

Spring Data - JPA / Hibernate & NoSQL

  • Introduction to JPA / Hibernate
  • O/R Mapping – the need
  • Main features
  • Architecture
  • Configurations
  • Entity beans
  • Entity manager
  • EntityManagerFactory
  • Spring support JPA / Hibernate & NoSQL
  • Spring JPA Repositories
  • NoSQL with Spring Data
  • Spring NoSQL Repositories
  • Custom querying with Repositories

Spring Messaging

  • Understanding messaging
  • Topics and queues
  • Introduction to Kafka
    • Installing
    • Architecture
    • Consumer types
    • Spring support for Kafka
  • Introduction RabbitMQ
    • Installing
    • Architecture
    • Spring support for RabbitMQ
  • Defining topics
  • Creating producers
  • Cresting consumers

Spring testing

  • Junit – brief
  • Mocking – introduction
  • SpringBoot test platform
  • Understanding testing application context
  • Tier oriented testing
  • Unit tests
    • Simple - flat
    • With mocking
    • Repositories with embedded in-memory alternative DB
    • Repositories & DAOs with real DB
    • MVC controller endpoints, with mocked Web Container
    • MVC controller logic
    • MVC content types – JSONs
  • Integration tests

Introduction to Spring MVC

  • Introduction to Java Web Model
  • Core concepts of Spring MVC
  • MVC annotations
  • MVC additional scopes
  • Create Spring MVC controllers
  • Define Spring MVC web services
  • RESTful Web Service development
  • RestTemplate for REST clients

SpringBoot

  • Introduction
  • start.spring.io & extensions
  • Installation
  • Configuring POM
  • Setting class dependencies
  • Coding & @EnableAutoConfiguration
  • Deploying code
  • Creating executable jar
  • Create Spring MVC controllers

SpringCloud

  • Microservices
    • Introduction
    • Benefits and drawbacks
    • Challenges
    • Best practices
    • Main Patterns
  • Understanding CloudContext
  • Configuration server - Eureka
  • Service discovery - Eureka
  • API gateway - Zuul
  • Circuit breaker (load-balancing) - Hystrix
  • Monitoring – Hystrix
  • Load-balancing – Spring Ribbon
  • Feign clients  
תגיות