Spring Boot Series: What Happens When You Click Run

🚀 Spring Boot Series – Part 6: What Happens When You Click the RUN Button in a Spring Boot Application? We do it every day: Write code → click Run → application starts. But what actually happens behind the scenes? 🤔 Let’s break it down step by step 👇 1️⃣ JVM starts the application When you click Run, the Java Virtual Machine (JVM) starts your Java program and looks for the main() method. 2️⃣ SpringApplication.run() gets executed This is the line that bootstraps the entire Spring Boot application. SpringApplication.run(MyApplication.class, args); 3️⃣ Spring Boot detects @SpringBootApplication Spring Boot detects the main annotation and understands that it needs to configure, auto-configure, and scan your application. 4️⃣ Spring Boot prepares the startup Spring Boot now prepares important things like: • ApplicationContext • Environment • Listeners • Initializers 5️⃣ ApplicationContext is created Spring creates the ApplicationContext, which is the Spring Container that manages all beans. 6️⃣ The environment is prepared Spring Boot reads configuration from: • application.properties / application.yml • Environment variables • Command-line arguments • Profiles 7️⃣ Component scanning and bean loading happen Spring scans classes annotated with: • @Component • @Service • @Repository • @Controller • @RestController • @Configuration It also processes @Bean methods and identifies what beans need to be created. 8️⃣ Auto Configuration kicks in Spring Boot checks the dependencies available on the classpath and automatically configures required beans. For example: • Web dependency → web-related beans • JPA dependency → data-related beans 9️⃣ ApplicationContext is refreshed At this stage, Spring actually starts creating beans, injecting dependencies, and initializing the application. This is where the application starts taking real shape in memory. 🔟 Embedded server starts If it is a web application, Spring Boot starts the embedded server (usually Tomcat). Now your application is capable of handling requests. 1️⃣1️⃣ Application is fully ready At this point: ✔ Beans are created ✔ Dependencies are injected ✔ Configuration is loaded ✔ Server is running 👉 Your Spring Boot application is now ready to serve requests. 🎯 Key Takeaway When you click Run, Spring Boot does much more than just execute your code. 👉 It creates the Spring container, reads configurations, scans components, applies auto-configuration, creates beans, injects dependencies, starts the server, and prepares the application to serve requests. Have you ever explored what actually happens inside SpringApplication.run() before? 🔍 In the next post of this series, we’ll explore Maven. Stay tuned. 💡 Save this post for future reference if you found it helpful. #SpringBoot #SpringFramework #Java #BackEndDevelopment #SoftwareEngineering #Programming #TechCommunity

  • text

To view or add a comment, sign in

Explore content categories