Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sanish07/spring-reference-backup


https://github.com/sanish07/spring-reference-backup

java junit5 spring spring-boot spring-core spring-data-jpa spring-jdbc unit-testing

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

## Spring Reference Manual


1. Spring Core

1.1. Tight and Loose Coupling

1.2. XML Configuration for IoC and DI

1.3. Java Configuration for IoC and DI

1.4. Annotations and Hybrid configurations for IoC and DI

1.5. Bean Scopes and Scope Combinations

1.6. Lazy Initialization

1.7. Properties

1.8. XML value injection(Primitives and Non-primitives)

1.9. Spring Profiles


2. Spring JDBC

2.1. Spring JDBC Introduction

2.2. Configuring XML for database connection

2.3. Configuring Java config File for database connection(Alternative to XML config, with pre-defined classes bean initialization)

2.4. Insert, Update and Delete operations with JdbcTemplate

2.5. Configuring RowMapper implementation class for Select opearations

2.6. Single-object Select queries and Multi-Object Select Queries implementation with JdbcTemplate and RowMapper


3. Spring Boot


3.1. Introduction to Spring Boot

      3.1.1. Understanding Spring Boot project structure

      3.1.2. Customizing Application Banner

      3.1.3. Testing Spring Core features in Spring Boot application

      3.1.4. Reading System and Custom Properties with Environment interface


3.2. Introduction to Spring REST Architecture

      3.2.1. Working with Controller Layer and HTTP Requests+Responses

      3.2.2. Path Parameters and Query Parameters in Routing


3.3. Spring Data JPA Introduction

      3.3.1. Defining application properties with YAML data serialization file

      3.3.2. Configuring PostgreSQL for database operations

      3.3.3. Creating Entity class and mapping class fields with database schema using Spring Hibernate

      3.3.4. Using JpaRepository for availing persistence layer methods to service layer

      3.3.5. Performing CRUD operations with JPA

      3.3.6. Defining custom search functions in Repository file with JPA Query Methods

      3.3.7. Defining Relationships between entities using Hibernate Mappings

      3.3.8. Assigning secondary/child entity to primary/parent entity with API requests

      3.3.9. Resolving infinite loop of parent-child serialization-deserialization on Child's GET


3.4. Spring DTO Pattern, Data Validation and Unit Testing

      3.4.1. Customizing REST API Server Requests & Responses through DTO pattern

      3.4.2. Replacing POJOs with Java Records(jdk 14+) for DTO files creation for all entities

      3.4.3. Refactoring the code to move all the business logic to service layer

      3.4.4. Basic Data Validation for Objects requested from API Request Body

      3.4.5. Handling bad request exceptions raised after data validation

      3.4.6. Introduction to Spring Testing with JUnit5

      3.4.7. Unit Testing basic methods of Mapper classes having no external dependencies/beans

      3.4.8. Achieving test isolation through Mockito framework by mocking and opening external beans

      3.4.9. Testing Service layer methods with Mockito framework and mocking method calls


4. Spring Data JPA - Deep Dive

4.1. Using Lombok library annotations for reducing POJO boilerplate

4.2. Understanding every ID generation strategy for primary key

4.3. Getting to know Hibernate Entity Lifecycle which is managed by Spring Data JPA internally

4.4. Using CommandLineRunner bean to test the repository/persistence layer methods

4.5. Unidirectional v/s Bidirectional mapping between entities

4.6. Understanding every type of Hibernate Advanced Entity-Relationship Mappings

4.7. @JoinColumn v/s @JoinTable