This repository contains a collection of projects and examples that cover key concepts and topics learned while exploring Java Spring Boot. It includes code samples, configurations, and explanations on various Spring Boot features and best practices.
- Spring Boot Basics: Setting up Spring Boot applications, understanding Spring Boot's auto-configuration, and customizing properties.
- Dependency Injection: Demonstrating Inversion of Control (IoC) and Dependency Injection (DI) in Spring Boot applications.
- RESTful APIs: Building REST APIs using Spring Web, handling HTTP methods, request/response handling, and status codes.
- Spring Data JPA: Integrating Spring Data JPA with databases for CRUD operations, using repositories, and creating custom queries.
- Security: Implementing authentication and authorization with Spring Security, configuring roles, and securing REST endpoints.
- Validation: Using Java Bean Validation (JSR 303/JSR 380) for input validation in Spring Boot applications.
- Exception Handling: Global exception handling with
@ControllerAdvice
and custom error responses. - Spring Boot AOP (Aspect-Oriented Programming): Implementing cross-cutting concerns like logging, transaction management, and security using Spring AOP.
- Object-Oriented Programming (OOP) in Spring Boot: Leveraging OOP principles like inheritance, polymorphism, encapsulation, and abstraction within Spring Boot applications for better design and code reusability.
src/main/java
: Core application code and packagessrc/main/resources
: Configuration files, application.properties, and other resourcessrc/test/java
: Unit and integration tests
This repository serves as a hands-on guide to understanding the practical aspects of building and deploying Spring Boot applications with a strong foundation in OOP and AOP concepts.