{"id":15211335,"url":"https://github.com/mat-p1/spring","last_synced_at":"2026-03-17T00:33:36.234Z","repository":{"id":219771967,"uuid":"749859662","full_name":"Mat-P1/Spring","owner":"Mat-P1","description":"Spring Boot, Spring \u0026 Hibernate","archived":false,"fork":false,"pushed_at":"2024-04-03T23:22:18.000Z","size":249,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T21:43:59.809Z","etag":null,"topics":["aspect-oriented-programming","hibernate","jpa","mysql","regex","regexp","rest-api","restful-api","spring","spring-aop","spring-boot","spring-data-jpa","springmvc","springsecurity","sql","thymeleaf"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mat-P1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-29T14:42:57.000Z","updated_at":"2024-04-02T17:49:36.000Z","dependencies_parsed_at":"2024-04-02T18:50:33.160Z","dependency_job_id":"147d215a-dc9a-4138-8c5e-a207d8ab024b","html_url":"https://github.com/Mat-P1/Spring","commit_stats":{"total_commits":35,"total_committers":1,"mean_commits":35.0,"dds":0.0,"last_synced_commit":"6323ebabbd3920d66bbf776cda02b21f4cb8777d"},"previous_names":["mat-p1/spring"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mat-P1%2FSpring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mat-P1%2FSpring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mat-P1%2FSpring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mat-P1%2FSpring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mat-P1","download_url":"https://codeload.github.com/Mat-P1/Spring/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242988049,"owners_count":20217539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspect-oriented-programming","hibernate","jpa","mysql","regex","regexp","rest-api","restful-api","spring","spring-aop","spring-boot","spring-data-jpa","springmvc","springsecurity","sql","thymeleaf"],"created_at":"2024-09-28T08:23:16.556Z","updated_at":"2025-12-25T00:01:38.742Z","avatar_url":"https://github.com/Mat-P1.png","language":"Java","readme":" # Spring Boot, Spring \u0026 Hibernate\n\nSpring Core, Spring REST, Spring MVC, Spring Security, Thymeleaf, JPA, Hibernate and MySQL. \n\nKey Spring Boot features: Core, Annotations, Java Config, Spring REST, Spring MVC, AOP, Hibernate/JPA, Postman and Maven.\n\n**Table of Contents**\n- [Spring Boot, Spring \\\u0026 Hibernate](#spring-boot-spring--hibernate)\n  - [1. Spring Boot Quick Start](#1-spring-boot-quick-start)\n  - [2. Spring Core](#2-spring-core)\n  - [3. Hibernate/JPA CRUD](#3-hibernatejpa-crud)\n  - [4. REST CRUD APIs](#4-rest-crud-apis)\n  - [5. REST API Security](#5-rest-api-security)\n  - [6. Spring MVC](#6-spring-mvc)\n  - [7. Spring MVC CRUD](#7-spring-mvc-crud)\n  - [8. Spring MVC Security](#8-spring-mvc-security)\n  - [9. JPA/Hibernate Advanced Mappings](#9-jpahibernate-advanced-mappings)\n  - [10. AOP: Aspect-Oriented Programming](#10-aop-aspect-oriented-programming)\n\n## 1. Spring Boot Quick Start\n\n   1. **Spring Boot**\n   \n         * Spring Boot basic concepts\n         * Spring Boot Initializr\n         * REST API Controller\n         * Spring Boot Project Structure\n         * Spring Boot Starters\n         * Inherit Defaults with Spring Boot Starter Parents\n         * Spring Boot Dev Tools\n         * Spring Boot Actuator Endpoints\n         * Secure Spring Boot Actuator Endpoints\n         * Run Spring Boot apps from the Command-Line\n         * Use the Spring Boot Maven Plugin to package and run Spring Boot apps\n         * Inject custom application properties into a Spring Boot REST Controller\n\n   2. **Maven**\n   \n         * Simplify your build process with Maven\n         * Create Maven POM files and add dependencies\n         * Run Maven builds from the IDE\n         *  Use Maven during the development of Real-Time Projects for Spring Boot MVC, Spring Boot Security, Spring Boot REST API and Hibernate/JPA\n\n## 2. Spring Core\n\n   * Inversion of Control\n   * Dependency Injection (Constructor Injection, Setter Injection, Field Injection)\n   * Qualifier and Primary annotations\n   * Component Scanning\n   * Lazy Initialization\n   * Bean Scopes\n   * Bean lifecycle methods\n   * Configure Beans with Java Code\n\n## 3. Hibernate/JPA CRUD\n\n   * Hibernate basic concepts\n   * JPA basic concepts\n   * JDBC\n   * SQL and MySQL\n   * JPA Annotations\n   * Simple CRUD Application with Data Access Object (DAO) pattern\n   * JPA Query Language (JPQL)\n   * Auto generating databases with Hibernate/JPA\n\n## 4. REST CRUD APIs\n\n   * REST basic concepts\n   * JSON\n   * REST HTTP\n   * Postman\n   * JSON Data Binding (To Java POJO)\n   * Jackson Project\n   * Path Variables\n   * Exception Handling\n   * Service Layer\n   * CRUD application (employee-crud) with Hibernate/JPA, DevTools, MySQL, REST APIs, Data Access Object (DAO) pattern and Service layers\n   * Spring Data JPA\n   * Updated employee-crud (`employee-crud -\u003e employee-crud-updated`) with Spring Data JPA and Spring Data REST\n\n## 5. REST API Security\n\n   * REST API Security Overview\n   * Securing APIs with Spring Security\n   * Users, roles and passwords\n   * Database connection for users, roles and passwords\n   * Password encryption with BCrypt\n\n## 6. Spring MVC\n\n   * Spring MVC with Thymeleaf overview\n   * CSS and Thymeleaf\n   * Reading forms\n   * Adding Data to Spring MVC\n   * Working with Spring MVC and HTML tags\n   * Validations\n   * Regular Expressions (Regex)\n   * Custom validations\n\n## 7. Spring MVC CRUD\n\n   * CRUD application using Spring MVC, Thymeleaf, MySQL, Hibernate/JPA, DevTools, Bootstrap, Data Access Object (DAO) pattern and Service layers\n\n## 8. Spring MVC Security\n\n   * Overview of Spring Security features for Spring MVC\n   * Users, roles and passwords\n   * Login and Logout\n   * Blocking and displaying content based on roles\n   * Database connection for users, roles and passwords\n   * Custom Tables for users, roles and passwords\n   * Password encryption with BCrypt\n\n## 9. JPA/Hibernate Advanced Mappings\n\n   * One-to-One\n   * One-to-Many\n   * Many-to-Many\n   * Cascading\n   * Eager and Lazy loading\n   * Join Fetch\n   * Join Table\n   * Unidirectional and Bidirectional references\n   * Entity Lifecycle\n\n## 10. AOP: Aspect-Oriented Programming\n\n   * AOP basic concepts, terminology and use cases\n   * Advantages and Disadvantages\n   * Advice Types (Before advice, AfterReturning advice, AfterThrowing advice, After advice, Around advice)\n   * Pointcut expressions\n   * Pointcut declaration\n   * Ordering advices \n   * JoinPoints\n   * Post-processing data\n   * Pre-processing data\n   * Exception Handling\n   * Applying AOP in a CRUD APP","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat-p1%2Fspring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmat-p1%2Fspring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat-p1%2Fspring/lists"}