Java EE with Vaadin, JPA, Microservices, Spring and Maven

Dive into the basics of software engineering with this course! Learn about Maven, JPA, Spring, Vaadin, and more in a super simple way.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course takes you through the essentials of software engineering, covering vital tools and frameworks like Maven, JPA, Spring, and Vaadin. You'll learn to build applications from scratch and understand key architectural concepts along the way!

Key Points

  • Understanding the key technologies in software engineering.
  • Building a complete application using various frameworks.
  • Learning about software architectural principles.

Learning Outcomes

  • Feel comfortable using Maven and JPA.
  • Understand the Spring framework and Spring Boot.
  • Be able to create user interfaces with Vaadin.
  • Implement security features in your applications.
  • Learn about web services and microservices architecture.

About This Course

Vaadin Framework, Microservices (REST), Spring, Spring Security, Hibernate, Spring Boot, Maven and JPA

When I started software engineering, I always wanted to code without any configurations, version control or build server configurations. Later, I realized that coding is just one part of software engineering: architectural designs, design patterns and the ability to write reusable and loosely coupled software components are much more important parts of programming.

In this course we are going to talk about the basics of professional software engineering such as how to separate the code into multiple modules or how to use a build framework to build the final application for us. 

Before developing the final application from scratch - that wire all the included technologies together - we will consider these technologies on a one by one basis.

In the first section we are going to consider Maven, one of the most popular build frameworks out there. The second chapter is about Java Persistence API and database related problems. The third chapter will cover Spring as far as the XML based configuration is concerned, then we will talk about the new way: the so-called Spring Boot. Finally, we are going to implement an application in which we are going to use all the technologies we have discussed.


Section 1 - Installations

  • setting up the environment

  • installing Java, Eclipse, Maven and MySQL

Section 2 - Maven

  • what is Maven

  • build lifecycles and phases

  • clean, site and default

  • handling dependencies

  • POM files

Section 3 - Java Persistence API (JPA)

  • why to use databases?

  • JDBC and the old way

  • what is Java Persistence API (JPA)

  • object relation mapping with JPA

  • how to deal with inheritance with JPA

  • how to deal with composition with JPA

  • basic CRUD operations with EntityManager

  • using Hibernate

Section 4 - Spring Framework

  • what is inversion of control and dependency injection?

  • XML based configuration

  • annotation based configuration

Section 5 - Spring Boot

  • what is Spring Boot?

  • annotations in Spring Boot

  • using Vaadin with Spring Boot

Section 6 - Vaadin

  • what is the Vaadin framework?

  • creating UI components easily with Vaadin

  • layouts and grids

  • navigation and pages

Section 7 - Wiring all Together (Application from Scratch)

  • creating a larger application from scratch (student management software)

  • creating UI components with Vaadin

  • creating the database structure etc.

  • deploying and running the application

  • using Maven to build and run Spring applications

Section 8 - Spring Security

  • what is Spring Security?

  • authorization and authentication

  • login form and signup form

Section 9 - Software Architectural Principles

  • what is the monolith architecture?

  • what are web-services?

  • SOAP and REST web-services

  • HTTP protocol

  • the microservice architecture

Section 10 - Microservices

  • what are microservices?

  • GET, POST, PATCH and DELETE mappings

  • @RequestBody annotation

  • @RequestParam and @PathVariable annotations

  • customizing the HTTP request and response

Section 11 - Handling JSON (with Jackson)

  • JSON and Jackson introduction

  • ignoring properties in the JSON representation

  • @JsonProperty annotation

  • dealing with date and time

Section 12 - Handling MySQL Database

  • how to connect to a MySQL database?

  • what is JDBC and JPA?

  • using database related annotations

Section 13 - Validation and Exception Handling

  • validating beans and catching exceptions

  • @ExceptionHandler annotation

  • @ControllerAdvice annotation

Section 14 - Transactions

  • what is a transaction?

  • implementing transactions

  • propagation types of transactions

Section 15 - RestTemplate and API Gateway

  • what is an API gateway?

  • how to use RestTemplate to communicate between web-services?

  • GET, POST, PATCH and DELETE operations

Thanks for joining the course, let's get started!

  • Get a good grasp on Maven

  • Get a good grasp on Java Persistence API (JPA) and Hibernate

  • Get a good grasp on Vaadin Framework

Course Curriculum

1 Lectures

2 Lectures

1 Lectures

Instructor

Profile photo of Holczer Balazs
Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods...

Review
4.9 course rating
4K ratings
ui-avatar of Warren Goldman
Warren G.
3.5
7 months ago

no response to questions. Some things seem outdated.

  • Helpful
  • Not helpful
ui-avatar of Luis Chavez
Luis C.
5.0
9 months ago

Excelente

  • Helpful
  • Not helpful
ui-avatar of Htet Htet Hlaing
Htet H. H.
5.0
11 months ago

Amazing. Clear and precise.

  • Helpful
  • Not helpful
ui-avatar of Martin Duerre
Martin D.
5.0
1 year ago

Very well structured course. Good low level examples and the course is good paced.

  • Helpful
  • Not helpful
ui-avatar of Mwittt
Mwittt
5.0
1 year ago

Dla mnie rewelacja.
I from Poland
The cours is fantastic.

  • Helpful
  • Not helpful
ui-avatar of Musleh haj
Musleh H.
5.0
1 year ago

The course content are excellent if you take it individually!! 100% good tutorial I recommend it very much!!

  • Helpful
  • Not helpful
ui-avatar of Kasi Viswanadham
Kasi V.
4.0
1 year ago

It seems bit easy for me to understand.

  • Helpful
  • Not helpful
ui-avatar of Steffen Müller
Steffen M.
5.0
1 year ago

Very good course with deep knowledge. I'm hope this course with Spring Boot 3 follows soon.

  • Helpful
  • Not helpful
ui-avatar of Ganesh Bhagat
Ganesh B.
3.0
1 year ago

....

  • Helpful
  • Not helpful
ui-avatar of Emmanuel Oladosu
Emmanuel O.
4.0
1 year ago

Good explanation!

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses