SlideShare a Scribd company logo
2
Most read
10
Most read
18
Most read
A Complete Spring Boot Course for beginners
https://spring.io/
PAGE 1
Sufyan Sattar
Software Engineer
sufyan.sattar@tkxel.com
Course
Outline
Introduction to Spring Boot and Background
Web Services (SOAP and Restful)
JPA/Hibernate and Custom SQL Queries
H2 Database (In memory database)
PostgreSQL and MySQL
PAGE 2
Introduction to Spring Boot
 It is an application framework used for developing Enterprise Applications.
 It makes programming Java quicker, easier, and safer for everybody.
 It provides a flexible way to configure Java Beans, XML configurations, and Database Transactions.
It provides powerful batch processing and manages REST endpoints. In Spring Boot, everything is
auto-configured; no manual configurations are needed.
 Termimology:
 Spring Initializer (https://start.spring.io/)
 Starter Projects
 Auto Configuration
 Actuators
 Developer Tools (DevTools)
PAGE 3
 Setting up Spring Web projects was not easy
 Define Maven Dependencies and manage versions for the framework (spring web_mvc, Jackson)
 Define web.xml (src/main/webapp/WEB_INF/web.xml)
 Define front controller for spring framework (Dispatcher Servlets)
 Define a Spring content.xml (src/main/webapp/WEB_INF/todo_servlet.xml)
 Define all beans
 Define component scan
 Install Tomcat or another web server like Glassfish.
 Deploy and run the application in Tomcat
PAGE 4
World Before Spring Boot
 Spring Boot Starter Projects
 It helps you get the project up and running quickly.
 Web Applications (Spring boot starter web)
 Rest API (Spring boot starter web)
 Talk to database using JPA (spring boot starter data JPA)
 Talk to database using JDBC (spring boot starter JDBC)
 Spring Boot Auto Configurations
 It provides a basic configuration to run your app using the framework defined in maven dependencies.
 We can override our own configuration
 Auto configuration is decided based on which framework is in the classpath
 E.g. (spring boot starter web)
 Dispatch Servlet
 Embeded Servlets Container – Tomcat is the default server
 Default Error Page
 Bean to JSON conversion
PAGE 5
How does Spring Boot do its magic?
 Monitor and manage your application in your production.
 Provides a number of endpoints:-
 Beans – Complete the list of Spring beans in your app
 Health – Application health information
 Metrics – Application metrics
 Mapping – Details around Request Mapping
PAGE 6
Spring Boot - Actuators
 Increase developer productivity
 Save timing
 Only local machine or debug variant
Spring Boot - Dev Tools
PAGE 7
Spring Framework vs Spring Boot
 Spring Framework
 The Spring framework provides comprehensive infrastructure support for developing Java applications.
 It's packed with some nice features like Dependency Injection, and out-of-the-box modules like:
 Spring JDBC
 Spring MVC
 Spring Security
 Spring ORM
 Spring Test
 Spring Boot
 Spring Boot is basically an extension of the Spring framework, which eliminates the boilerplate configurations
required for setting up a Spring application.
 Here are just a few of the features in Spring Boot:
 Opinionated ‘starter' dependencies to simplify the build and application configuration
 Embeded Server to avoid complexity in application deployment
 Metrics, Health checks, and external configuration
 Automatic config for Spring functionality
Web Services
 Design for machine-to-machine or application-to-application interaction.
 Should be interoperable – Not platform dependent
 Should allow communication over a network
Web Service Definition
Request/Response Format Request Structure Response Structure Endpoint
(XML/JSON)
Note
 Dispatcher Servlets handle the request/response
 Spring boot auto configuration handle/configure dispatcher servlets
 Jackson converts the Java Bean to JSON and vice versa
PAGE 8
PAGE 9
Web Service Task
 Social Media Application Usecase : User ---> Post
 Retrieve all users GetRequest /users
 Create a user PostRequest /users
 Retrieve a specific user GetRequest /users{id}
 Delete a user DeleteRequest /users{id}
1. Create a Controller. @RestController
2. Create methods for API and annotate with
1. @GetMapping
2. @PostMapping
3. @PutMapping
4. @DeleteMapping
PAGE 10
Web Service Topics
 HATEOAS (Hyper Media as the Engine of Application State)
 HATEOAS will add value to you API when used by client. The links provided by HATEOAS gives you the possibilities to
different parts (resources) of your API without needing to hardcore those links in your apps client code.
 We use WebMvcLinkBuilder and link any method/API of our
controller in the response.
 E.g. I request http://localhost:8080/jpa/users/1/posts/1
 Exception Handling
 Give a proper response to the user when an exception occurs with the status code.
 We can use ResponseEntityExceptionHandler to provide centralized exception handling across all @RequestMapping
methods through @ExceptionHandler methods.
PAGE 11
Web Service Topics
 Validation for Rest API
 We can add @Valid to validate our request
 @Sized(min=2) @Email @Past
 We just place annotation to the variable
 Internationalization for Restful Services
 We create different resources file w.r.t languages e.g: messages_fr.properties.
 In messages.properties file we write string in different language.
 Content Negotiation
 We can implement XML support in out Restful API.
 Client will sent Accept Header with application/xml value.
PAGE 12
Web Service Topics
 Swagger UI
 baseurl/swagger-ui/index.html
 OpenAPI create all the documentation of your Restful API in our application
 Swagger UI gets that data and represents in GUI
 OpenAPI definition: baseurl/v3/api-docs
 Monitory API with Spring Boot Actuators
 base_url/actuator
 We can manual configuration by adding some lines
 in application.properties file
 HAL Explorer
 Visualizing all API
 Its show all links in visual format
 You can also see HATEOAS links in visual formats
 base_url/explorer/
PAGE 13
Web Service Topics
 Filtering
 Static Filtering
 Just place @JsonIgnore above the variable
 You can also place above class name and add multiple parameter name
 Dynamic Filtering
 When you hide/show data in response w.r.t to response
 We use SimpleBeanPropertyFilter, FilterProvider, and MappingJacksonValue
 Versioning
 Url versioning
 Params versioning
 Customer Header versioning
 Produces versioning (mine-type versioning)
PAGE 14
Web Service Topics
 Security
 After Enable security web services will return 401 unauthorized status.
 Request all API with basic Auth (username=user and password=from console)
 Add configuration for static password not change when server restart
 security.username=username , security.password=password
JPA/Hibernate and Custom Query
 JPA is the specification and define the way to manage relational database using Java Objects
 Hibernate is the implementation of Java Persistence API. It is the ORM tool to persist Java objects
into relational database
 Implementation/Annotations:
 @Entity
 @Table(name=“employee”)
 @Column(name=“first_name”)
 EmptyConstructor
 All Argument Constructor
 Setter/Getter
 @OneToMany(mappedBy=“user”, cascade=Cascade.ALL)
 @ManyToOne()
 @JoinColoum
 @Id
 @GeneratedValue(strategy= GenerationType.IDENTITY)
 @Repository (interface UserRepo implement JpaRepository<User, Integer>)
PAGE 15
JPA/Hibernate and Custom Query
 JPA Repository:
 Its interface having default storage methods like save(), findAll(); findBtId(), DeleteById() etc.
 Its provides us the ORM for storing data into relational database.
 We can also write custom query for fetching data from database.
 JPA provided us @Query annotation.
 Create interface and implement JpaRepository<Object, Integer>)
 Inside repo you can write function and custom query
 Custom Query:
@Query(“SELECT * FROM posts WHERE user_id=:user_id AND id=:post_id”, nativeQuery=true)
 Post getPostDetailsOfSpecifcUser(
@Param(“user_id”) Integer user_id,
@Param(“post_id”) Integer post_id
);
PAGE 16
H2 Database
 H2 is inmemory database provided by Spring Boot.
 H2 database name randomly generated each time you restart the run or run application.
 We can make it constant by manual configuration:
 Spring.datasource.url=“jdbc:h2:mem:mytestdb”
 Sometime we need more fined grained control over tha database alterations and that why we create
data.sql and schema.sql
 data.sql:- We rely on default schema created by Hibernate/JPA. We add data into data.sql by writing SQL
queries into data.sql file
 schema.sql:- We don`t rely on default schema creation mechanism. We create own schema i.e table and
coloums etc. Spring will pickup this file and create schema
 Note: Script base initialization i.e through data.sql and schema.sql, and hibernate default initialization
together can cause some issues.
 We disable hibernate automatic schema creations with manual configuration.
 spring.jpa.hibernate.ddl-auto=none
 If you want to use both hibernate automatic creation schema and script based schema creation and data
population. You can use
 spring.jpa.defer-datasource-initialization=true
 Script base initialization is perform by default only for embeded databases.
PAGE 17
PostgreSQL and MySQL with Spring Boot
 Configuration with PostgreSQL
 spring.datasource.url=jdbc:postgresql://localhost:5432/employees
 spring.datasource.username=postgres
 spring.datasource.password=admin
 spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
 Configuration with MySQL
 spring.datasource.url=jdbc:mysql://localhost:3306/employees
 spring.datasource.username=root
 spring.datasource.password=admin
 spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
PAGE 18

More Related Content

Similar to SpringBootCompleteBootcamp.pptx (20)

PDF
dokumen.tips_rediscovering-spring-with-spring-boot1.pdf
Appster1
 
PPTX
SoftwareUniversity seminar fast REST Api with Spring
Nayden Gochev
 
DOCX
Spring interview questions
SkillPracticalEdTech
 
PDF
building-rest-api-with-spring-boot-in28minutes-presentation.pdf
HarshitRaj774201
 
PPTX
Spring Web Presentation 123143242341234234
horiadobrin
 
PPTX
Spring 1 day program
Mohit Kanwar
 
PDF
Getting Started With Spring Framework J Sharma Ashish Sarin
moineittay
 
PPTX
Spring_Boot_Microservices-5_Day_Session.pptx
Prabhakaran Ravichandran
 
PPTX
Spring Test Framework
GlobalLogic Ukraine
 
PPTX
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
DataArt
 
PPTX
Building a REST Service in minutes with Spring Boot
Omri Spector
 
PDF
Introduction to Spring Boot
Trey Howard
 
PDF
PUC SE Day 2019 - SpringBoot
Josué Neis
 
PDF
Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
adwyhrawaji
 
PPT
Spring, web service, web server, eclipse by a introduction sandesh sharma
Sandesh Sharma
 
PPTX
Learn Spring Boot With Bisky - Intoduction
MarshallChabaga
 
PPTX
unit_1_spring_1.pptxfgfgggjffgggddddgggg
zmulani8
 
PPTX
Spring boot
Pradeep Shanmugam
 
PDF
Spring boot jpa
Hamid Ghorbani
 
PDF
Toms introtospring mvc
Guo Albert
 
dokumen.tips_rediscovering-spring-with-spring-boot1.pdf
Appster1
 
SoftwareUniversity seminar fast REST Api with Spring
Nayden Gochev
 
Spring interview questions
SkillPracticalEdTech
 
building-rest-api-with-spring-boot-in28minutes-presentation.pdf
HarshitRaj774201
 
Spring Web Presentation 123143242341234234
horiadobrin
 
Spring 1 day program
Mohit Kanwar
 
Getting Started With Spring Framework J Sharma Ashish Sarin
moineittay
 
Spring_Boot_Microservices-5_Day_Session.pptx
Prabhakaran Ravichandran
 
Spring Test Framework
GlobalLogic Ukraine
 
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
DataArt
 
Building a REST Service in minutes with Spring Boot
Omri Spector
 
Introduction to Spring Boot
Trey Howard
 
PUC SE Day 2019 - SpringBoot
Josué Neis
 
Web Development With Java Using Hibernate Jsps And Servlets Tim Downey
adwyhrawaji
 
Spring, web service, web server, eclipse by a introduction sandesh sharma
Sandesh Sharma
 
Learn Spring Boot With Bisky - Intoduction
MarshallChabaga
 
unit_1_spring_1.pptxfgfgggjffgggddddgggg
zmulani8
 
Spring boot
Pradeep Shanmugam
 
Spring boot jpa
Hamid Ghorbani
 
Toms introtospring mvc
Guo Albert
 

Recently uploaded (20)

PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
Hashing Introduction , hash functions and techniques
sailajam21
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PPTX
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
Design Thinking basics for Engineers.pdf
CMR University
 
Thermal runway and thermal stability.pptx
godow93766
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Hashing Introduction , hash functions and techniques
sailajam21
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
Day2 B2 Best.pptx
helenjenefa1
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Ad

SpringBootCompleteBootcamp.pptx

  • 1. A Complete Spring Boot Course for beginners https://spring.io/ PAGE 1 Sufyan Sattar Software Engineer [email protected]
  • 2. Course Outline Introduction to Spring Boot and Background Web Services (SOAP and Restful) JPA/Hibernate and Custom SQL Queries H2 Database (In memory database) PostgreSQL and MySQL PAGE 2
  • 3. Introduction to Spring Boot  It is an application framework used for developing Enterprise Applications.  It makes programming Java quicker, easier, and safer for everybody.  It provides a flexible way to configure Java Beans, XML configurations, and Database Transactions. It provides powerful batch processing and manages REST endpoints. In Spring Boot, everything is auto-configured; no manual configurations are needed.  Termimology:  Spring Initializer (https://start.spring.io/)  Starter Projects  Auto Configuration  Actuators  Developer Tools (DevTools) PAGE 3
  • 4.  Setting up Spring Web projects was not easy  Define Maven Dependencies and manage versions for the framework (spring web_mvc, Jackson)  Define web.xml (src/main/webapp/WEB_INF/web.xml)  Define front controller for spring framework (Dispatcher Servlets)  Define a Spring content.xml (src/main/webapp/WEB_INF/todo_servlet.xml)  Define all beans  Define component scan  Install Tomcat or another web server like Glassfish.  Deploy and run the application in Tomcat PAGE 4 World Before Spring Boot
  • 5.  Spring Boot Starter Projects  It helps you get the project up and running quickly.  Web Applications (Spring boot starter web)  Rest API (Spring boot starter web)  Talk to database using JPA (spring boot starter data JPA)  Talk to database using JDBC (spring boot starter JDBC)  Spring Boot Auto Configurations  It provides a basic configuration to run your app using the framework defined in maven dependencies.  We can override our own configuration  Auto configuration is decided based on which framework is in the classpath  E.g. (spring boot starter web)  Dispatch Servlet  Embeded Servlets Container – Tomcat is the default server  Default Error Page  Bean to JSON conversion PAGE 5 How does Spring Boot do its magic?
  • 6.  Monitor and manage your application in your production.  Provides a number of endpoints:-  Beans – Complete the list of Spring beans in your app  Health – Application health information  Metrics – Application metrics  Mapping – Details around Request Mapping PAGE 6 Spring Boot - Actuators  Increase developer productivity  Save timing  Only local machine or debug variant Spring Boot - Dev Tools
  • 7. PAGE 7 Spring Framework vs Spring Boot  Spring Framework  The Spring framework provides comprehensive infrastructure support for developing Java applications.  It's packed with some nice features like Dependency Injection, and out-of-the-box modules like:  Spring JDBC  Spring MVC  Spring Security  Spring ORM  Spring Test  Spring Boot  Spring Boot is basically an extension of the Spring framework, which eliminates the boilerplate configurations required for setting up a Spring application.  Here are just a few of the features in Spring Boot:  Opinionated ‘starter' dependencies to simplify the build and application configuration  Embeded Server to avoid complexity in application deployment  Metrics, Health checks, and external configuration  Automatic config for Spring functionality
  • 8. Web Services  Design for machine-to-machine or application-to-application interaction.  Should be interoperable – Not platform dependent  Should allow communication over a network Web Service Definition Request/Response Format Request Structure Response Structure Endpoint (XML/JSON) Note  Dispatcher Servlets handle the request/response  Spring boot auto configuration handle/configure dispatcher servlets  Jackson converts the Java Bean to JSON and vice versa PAGE 8
  • 9. PAGE 9 Web Service Task  Social Media Application Usecase : User ---> Post  Retrieve all users GetRequest /users  Create a user PostRequest /users  Retrieve a specific user GetRequest /users{id}  Delete a user DeleteRequest /users{id} 1. Create a Controller. @RestController 2. Create methods for API and annotate with 1. @GetMapping 2. @PostMapping 3. @PutMapping 4. @DeleteMapping
  • 10. PAGE 10 Web Service Topics  HATEOAS (Hyper Media as the Engine of Application State)  HATEOAS will add value to you API when used by client. The links provided by HATEOAS gives you the possibilities to different parts (resources) of your API without needing to hardcore those links in your apps client code.  We use WebMvcLinkBuilder and link any method/API of our controller in the response.  E.g. I request http://localhost:8080/jpa/users/1/posts/1  Exception Handling  Give a proper response to the user when an exception occurs with the status code.  We can use ResponseEntityExceptionHandler to provide centralized exception handling across all @RequestMapping methods through @ExceptionHandler methods.
  • 11. PAGE 11 Web Service Topics  Validation for Rest API  We can add @Valid to validate our request  @Sized(min=2) @Email @Past  We just place annotation to the variable  Internationalization for Restful Services  We create different resources file w.r.t languages e.g: messages_fr.properties.  In messages.properties file we write string in different language.  Content Negotiation  We can implement XML support in out Restful API.  Client will sent Accept Header with application/xml value.
  • 12. PAGE 12 Web Service Topics  Swagger UI  baseurl/swagger-ui/index.html  OpenAPI create all the documentation of your Restful API in our application  Swagger UI gets that data and represents in GUI  OpenAPI definition: baseurl/v3/api-docs  Monitory API with Spring Boot Actuators  base_url/actuator  We can manual configuration by adding some lines  in application.properties file  HAL Explorer  Visualizing all API  Its show all links in visual format  You can also see HATEOAS links in visual formats  base_url/explorer/
  • 13. PAGE 13 Web Service Topics  Filtering  Static Filtering  Just place @JsonIgnore above the variable  You can also place above class name and add multiple parameter name  Dynamic Filtering  When you hide/show data in response w.r.t to response  We use SimpleBeanPropertyFilter, FilterProvider, and MappingJacksonValue  Versioning  Url versioning  Params versioning  Customer Header versioning  Produces versioning (mine-type versioning)
  • 14. PAGE 14 Web Service Topics  Security  After Enable security web services will return 401 unauthorized status.  Request all API with basic Auth (username=user and password=from console)  Add configuration for static password not change when server restart  security.username=username , security.password=password
  • 15. JPA/Hibernate and Custom Query  JPA is the specification and define the way to manage relational database using Java Objects  Hibernate is the implementation of Java Persistence API. It is the ORM tool to persist Java objects into relational database  Implementation/Annotations:  @Entity  @Table(name=“employee”)  @Column(name=“first_name”)  EmptyConstructor  All Argument Constructor  Setter/Getter  @OneToMany(mappedBy=“user”, cascade=Cascade.ALL)  @ManyToOne()  @JoinColoum  @Id  @GeneratedValue(strategy= GenerationType.IDENTITY)  @Repository (interface UserRepo implement JpaRepository<User, Integer>) PAGE 15
  • 16. JPA/Hibernate and Custom Query  JPA Repository:  Its interface having default storage methods like save(), findAll(); findBtId(), DeleteById() etc.  Its provides us the ORM for storing data into relational database.  We can also write custom query for fetching data from database.  JPA provided us @Query annotation.  Create interface and implement JpaRepository<Object, Integer>)  Inside repo you can write function and custom query  Custom Query: @Query(“SELECT * FROM posts WHERE user_id=:user_id AND id=:post_id”, nativeQuery=true)  Post getPostDetailsOfSpecifcUser( @Param(“user_id”) Integer user_id, @Param(“post_id”) Integer post_id ); PAGE 16
  • 17. H2 Database  H2 is inmemory database provided by Spring Boot.  H2 database name randomly generated each time you restart the run or run application.  We can make it constant by manual configuration:  Spring.datasource.url=“jdbc:h2:mem:mytestdb”  Sometime we need more fined grained control over tha database alterations and that why we create data.sql and schema.sql  data.sql:- We rely on default schema created by Hibernate/JPA. We add data into data.sql by writing SQL queries into data.sql file  schema.sql:- We don`t rely on default schema creation mechanism. We create own schema i.e table and coloums etc. Spring will pickup this file and create schema  Note: Script base initialization i.e through data.sql and schema.sql, and hibernate default initialization together can cause some issues.  We disable hibernate automatic schema creations with manual configuration.  spring.jpa.hibernate.ddl-auto=none  If you want to use both hibernate automatic creation schema and script based schema creation and data population. You can use  spring.jpa.defer-datasource-initialization=true  Script base initialization is perform by default only for embeded databases. PAGE 17
  • 18. PostgreSQL and MySQL with Spring Boot  Configuration with PostgreSQL  spring.datasource.url=jdbc:postgresql://localhost:5432/employees  spring.datasource.username=postgres  spring.datasource.password=admin  spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect  Configuration with MySQL  spring.datasource.url=jdbc:mysql://localhost:3306/employees  spring.datasource.username=root  spring.datasource.password=admin  spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect  spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver PAGE 18