Skip to content

Sahan-Kaushalya/Springboot-Learning-Journey-01

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot & Hibernate Learning Journey 🚀

This repository contains source code, practical examples, and projects created while mastering the Spring Framework ecosystem. It serves as a comprehensive guide to building robust web applications and RESTful services using modern Java technologies.

📚 Project Overview

The goal of this project is to document the process of building powerful web applications using the Spring ecosystem. It covers everything from core Spring concepts to advanced data management with Hibernate.

Key Technologies

  • Language: Java
  • Frameworks: Spring Boot, Spring MVC, Spring Framework
  • ORM: Hibernate
  • Build Tool: Maven/Gradle (Choose whichever you are using)

🧠 What I Am Learning

1. Spring Framework Core

  • Understanding core components and dependency injection.
  • Managing bean life cycles and configuration.

2. Spring Boot (RESTful Services)

  • Leveraging auto-configuration for rapid development.
  • Managing starter dependencies.
  • Building scalable REST APIs.

3. Web Application Development (Spring MVC)

  • Model-View-Controller (MVC) architecture.
  • Request handling and routing.
  • Form validation and frontend integration.

4. Data Management (Hibernate)

  • Integrating Hibernate for efficient database interactions.
  • Performing CRUD operations.
  • Optimizing database performance.

🛠️ Prerequisites

To run these projects, you need:

  • Java Development Kit (JDK): Version 17 or higher (recommended).
  • IDE: IntelliJ IDEA, Eclipse, or VS Code.
  • Basic Knowledge: Core Java programming.

📂 Project Structure

  • /src: Main source code for the applications.
  • /resources: Configuration files (application.properties/yml).
  • /test: Unit and integration tests.

🚀 Section 01: Introduction & Setup

Focus: Core Spring Boot concepts, Project Structure, Maven, and Configuration.

Status Topic Key Learnings
Spring Initializr creating the project, choosing dependencies
Maven Concepts pom.xml, dependency management, project structure
REST Controller @RestController, @GetMapping
DevTools Live reload, fast feedback loop
Actuator Monitoring app health and metrics
Accessing Endpoints Currently Learning
Securing Endpoints Basic security configuration
Injecting Properties Using application.properties & @Value
Configuring Server Port changes, server timeouts

🧩 Section 02: Inversion of Control & Dependency Injection

Focus: Mastering the Spring Container, managing dependencies, and configuring Spring Beans.

Status Topic Key Learnings
Inversion of Control (IoC) Outsourcing object creation to the Spring Factory
🔄 Dependency Injection (DI) Currently Learning - Injecting helpers into the app
Constructor Injection Recommended injection type, using @Autowired
Component Scanning Using @Component and @ComponentScan
Setter & Field Injection Alternative ways to inject dependencies
Qualifiers Using @Qualifier to choose between multiple bean implementations
Primary Annotation Using @Primary to set a default bean
Lazy Initialization Improving startup time with @Lazy
Bean Scopes Singleton (default) vs Prototype scopes
Bean Lifecycle @PostConstruct (init) and @PreDestroy (cleanup)
Configuring Beans Using @Configuration and @Bean for 3rd party classes

This repository is for educational purposes and documents my progress in mastering modern Java web development.

About

This repository contains source code, practical examples, and projects created while mastering the Spring Framework ecosystem. It serves as a comprehensive guide to building robust web applications and RESTful services using modern Java technologies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages