Skip to content
Albert edited this page Jul 13, 2022 · 87 revisions

Welcome to the cifojava2022-3 wiki!

Spring Boot Projects

Name Type Description Link
Library0 Server Basic Spring Boot Project Done
Library1 Server-Rest API Rest Book CRUD with Postman/Swagger Done
Library2 Server-Rest API Rest Author-Book @OneToMany @ManyToOne CRUD with Swagger Done
Library3 Server Library-Book @ManyToMany @OneToOne CRUD Done
Library4 Server-Rest API Rest Library-Book-Author @ManyToMany @OneToMany CRUD with Swagger and Inherence Done
Library5 Server-Web ThymeLeaf Web Project Done
Library6 Server-Web API Rest Book CRUD with Postman/Swagger and Pageable Done

(0) Basic Spring Boot project

Library0
  • Preliminary works:

    • Create project on Spring Init
    • Images, step-by-step to create project
    • Lombok to make entities simplier
    • Java-Faker to create entities
    • Be careful with devtools!! You must go to settings and mark it, CTRL+ALT+S on Advanced Settings: Allow Auto-make
    • Very simple project: no database, @BookService with an ArrayList<Book> books where books are stored
    • @RestController and @Controller to publish JSON data and an HTML web with Thymeleaf
  • version 1.0 : spring boot executions, api REST and web

  • version 2.0 : just some little modifications to explain what th: is

(1) API Rest Book CRUD with Postman/Swagger

Library1
  • Base project:
    • POM
    • API REST Read CRUD
    • DataBase H2
    • Application.properties
    • Command Line Runner with methods to test
    • Postman to test API REST, Postman web
    • @Entity, @RestController, @Service, @CrudRepository JPA 2.0, @Component

Library1 / Repo

(2) API Rest Author-Book @OneToMany CRUD with Swagger

Library2
  • Base project:
    • Library1
    • Two entities related @OneToMany, that is, 1:n

Library2 / Repo

(3) Library-Book @ManyToMany and @OneToOne CRUD

Library3
  • Base project:
    • Library2
    • Two/Three entities related @ManyToMany, that is, n:m and @OneToOne 1:1

Library3 / Repo

(4) API Rest Library-Book-Author @ManyToMany @OneToMany CRUD with Swagger and Inherence

Library4
  • Base project:
    • Library2 and Library3
    • Inherence and Interficies
    • Audit and JavaFaker
    • JPQL
    • Batch operations and Pagination

(5) ThymeLeaf Web Project

Library5
  • Base project:
    • Library
    • Templates HTML Thymeleaf, Templates Engine
    • @Controller instead of @RestController

(6) Pagination ThymeLeaf-Rest Web Project

Library6
  • Base project:
    • Library
    • Templates HTML Thymeleaf, Templates Engine
    • @RestController
    • Pagination and Sorting