Skip to content

sairam468/springboot-core-concepts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Spring Boot Core Concepts

📌 Overview

This repository contains hands-on Spring Boot projects developed to understand and implement core Spring Boot concepts.

The focus of these projects is on dependency injection, configuration management, profiles, layered architecture, database configuration, and application bootstrapping.

This repository demonstrates how Spring Boot simplifies application setup and configuration compared to traditional Spring Framework.


🛠 Tech Stack

  • Java
  • Spring Boot
  • Maven

📂 Projects Included


1️⃣ Dependency Injection Basics

Projects:

  • BootProj01-DependencyInjection

  • BootProj01-DependencyInjection2

  • BootProj02-DependencyInjection-LooseCoupling

  • Constructor and setter injection

  • Loose coupling using interfaces

  • Spring-managed beans


2️⃣ Layered Application Architecture

Projects:

  • BootProj03-LayeredApplication-MVC-MiniProject

  • BootProj04-LayeredApplication-MVC-Insertoperations

  • Controller → Service → Repository structure

  • Clean separation of concerns

  • MVC-style application flow


3️⃣ Database Configuration

Projects:

  • BootProj05-MySqlDB_MiniProject

  • BootProj06_DBChange_MiniProject

  • MySQL database integration

  • Externalized database configuration

  • Switching databases with minimal code change


4️⃣ Configuration & Data Injection

Projects:

  • BootProj07-DataInjection-Using@Value-SPEL

  • BootProj08-DataInjection-Using@ConfigurationProperties

  • BootProj09-DataInjection-Using@ConfigPropofDiffDataTypes

  • BootProj10-YML-DifferentDataTypes

  • @Value annotation usage

  • @ConfigurationProperties binding

  • SpEL expressions

  • YAML vs properties configuration


5️⃣ Profiles & Environment Management

Project: BootProj11-Profiles-MiniProj

  • Environment-based configuration
  • Profile activation (dev, test, prod)
  • Config isolation per environment

6️⃣ Application Runners

Project: BootProj12-Runners

  • CommandLineRunner
  • ApplicationRunner
  • Code execution during application startup

🏗 Architecture Concepts Covered

  • Dependency Injection
  • Loose Coupling
  • Layered Architecture
  • Externalized Configuration
  • Profile-based Configuration
  • Application Startup Lifecycle

🎯 Key Learning Outcomes

  • Deep understanding of Spring Boot core features
  • Implemented dependency injection effectively
  • Managed configuration using properties and YAML
  • Built layered applications with clean structure
  • Used profiles for environment-based configuration
  • Controlled application startup logic

🚀 Future Enhancements

  • Add actuator examples
  • Introduce logging configuration
  • Add exception handling patterns
  • Compare Spring Boot vs Spring Core configuration

👨‍💻 Author

Ganta Lakshman Naga Durga Sairam
Java Full Stack Developer
Hyderabad, India

About

Spring Boot core concept examples demonstrating dependency injection, configuration management, profiles, layered architecture, and application bootstrapping.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages