Bird
Raised Fist0
Spring Bootframework~10 mins

Running a Spring Boot application in Spring Boot - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Running a Spring Boot application
Start Application
↓
Spring Boot Main Method
↓
SpringApplication.run()
↓
Spring Boot Context Initialized
↓
Embedded Server Starts
↓
Application Ready to Serve Requests
This flow shows how starting a Spring Boot app runs the main method, initializes the context, starts the embedded server, and makes the app ready.
Execution Sample
Spring Boot
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }
}
This code starts the Spring Boot application by running the main method which calls SpringApplication.run.
Execution Table
StepActionMethod CalledResultNext Step
1Start main methodmain()Entered main methodCall SpringApplication.run()
2Run Spring Boot appSpringApplication.run()Spring context initializingInitialize beans
3Initialize beansContext initializationBeans created and wiredStart embedded server
4Start embedded serverTomcat/Jetty startServer listening on port 8080Application ready
5Application readyN/AApp ready to accept requestsWait for requests
💡 Application runs continuously until stopped by user or error
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4Final
Application Contextnullinitializinginitializedinitializedrunning
Embedded Serverstoppedstoppedstartingrunningrunning
Key Moments - 2 Insights
Why does the application keep running after main method finishes?
Because the embedded server (like Tomcat) runs in the background, keeping the app alive as shown in steps 4 and 5 of the execution_table.
What does SpringApplication.run() actually do?
It initializes the Spring context, creates beans, and starts the embedded server, as detailed from step 2 to step 4 in the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the state of the Application Context after step 3?
Anull
Binitialized
Cinitializing
Drunning
💡 Hint
Check the variable_tracker row for Application Context after Step 3
At which step does the embedded server start listening on port 8080?
AStep 2
BStep 3
CStep 4
DStep 5
💡 Hint
Look at the 'Result' column in execution_table for server listening info
If SpringApplication.run() fails to initialize beans, what step would fail?
AStep 3
BStep 4
CStep 2
DStep 5
💡 Hint
Bean creation happens during context initialization in Step 3
Concept Snapshot
Spring Boot apps start by running the main method.
Inside main, SpringApplication.run() initializes the app.
It creates the Spring context and beans.
Then it starts an embedded server (like Tomcat).
The app stays running, ready to handle requests.
Stop the app to end the server and process.
Full Transcript
Running a Spring Boot application begins with the main method. This method calls SpringApplication.run(), which initializes the Spring context and creates all necessary beans. After that, an embedded server such as Tomcat or Jetty starts listening on the default port 8080. The application remains running, ready to serve incoming requests until it is stopped by the user or an error occurs.

Practice

(1/5)
1. What is the main method used for in a Spring Boot application?
easy
A. To configure the database connection
B. To start the Spring Boot application using SpringApplication.run()
C. To define REST endpoints
D. To create HTML views

Solution

  1. Step 1: Understand the role of the main method

    The main method is the entry point of any Java application, including Spring Boot apps.
  2. Step 2: Identify what SpringApplication.run() does

    SpringApplication.run() starts the Spring Boot application by initializing the Spring context and components.
  3. Final Answer:

    To start the Spring Boot application using SpringApplication.run() -> Option B
  4. Quick Check:

    Main method starts app = To start the Spring Boot application using SpringApplication.run() [OK]
Hint: Main method always starts Spring Boot with SpringApplication.run() [OK]
Common Mistakes:
  • Confusing main method with configuration tasks
  • Thinking main method defines endpoints
  • Assuming main method creates UI views
2. Which of the following is the correct way to run a Spring Boot application from the command line using Maven?
easy
A. mvn spring-boot:run
B. mvn run spring-boot
C. mvn start boot
D. mvn execute springboot

Solution

  1. Step 1: Recall Maven command for Spring Boot

    The standard Maven command to run a Spring Boot app is 'mvn spring-boot:run'.
  2. Step 2: Check other options for correctness

    Other options do not follow Maven or Spring Boot plugin syntax and will cause errors.
  3. Final Answer:

    mvn spring-boot:run -> Option A
  4. Quick Check:

    Maven run command = mvn spring-boot:run [OK]
Hint: Use 'mvn spring-boot:run' to run Spring Boot apps with Maven [OK]
Common Mistakes:
  • Mixing up command order
  • Using invalid Maven goals
  • Typing incomplete commands
3. Given this main class, what happens when you run it?
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}
medium
A. The application starts and initializes Spring Boot context
B. The application throws a compilation error
C. The application runs but does not start Spring Boot
D. The application starts but immediately exits without running

Solution

  1. Step 1: Analyze the main method code

    The main method calls SpringApplication.run() with the class annotated by @SpringBootApplication.
  2. Step 2: Understand @SpringBootApplication effect

    This annotation enables auto-configuration and component scanning, so Spring Boot context starts properly.
  3. Final Answer:

    The application starts and initializes Spring Boot context -> Option A
  4. Quick Check:

    SpringApplication.run() starts app = The application starts and initializes Spring Boot context [OK]
Hint: SpringApplication.run() with @SpringBootApplication starts app [OK]
Common Mistakes:
  • Thinking @SpringBootApplication is optional
  • Assuming code throws error without extra config
  • Believing app runs but does not start Spring context
4. You try to run your Spring Boot app but get this error: java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication. What is the most likely cause?
medium
A. The Java version is too new for Spring Boot
B. The main method is missing in the application class
C. The Spring Boot dependency is missing from the project
D. The application.properties file is empty

Solution

  1. Step 1: Understand the error meaning

    NoClassDefFoundError means the JVM cannot find the SpringApplication class at runtime.
  2. Step 2: Identify cause of missing class

    This usually happens if the Spring Boot dependency is not included or not properly loaded in the project.
  3. Final Answer:

    The Spring Boot dependency is missing from the project -> Option C
  4. Quick Check:

    NoClassDefFoundError = missing dependency [OK]
Hint: NoClassDefFoundError usually means missing dependency [OK]
Common Mistakes:
  • Blaming missing main method for this error
  • Thinking empty config files cause class errors
  • Assuming Java version causes missing class
5. You want to run your Spring Boot app as a standalone jar. Which command correctly runs the jar file named app.jar?
medium
A. mvn run app.jar
B. java run app.jar
C. gradle run app.jar
D. java -jar app.jar

Solution

  1. Step 1: Recall how to run a jar file in Java

    The standard command to run an executable jar is 'java -jar filename.jar'.
  2. Step 2: Check other options for correctness

    The mvn and gradle commands are for build tools, not for running jar files directly. 'java run app.jar' is invalid Java command syntax.
  3. Final Answer:

    java -jar app.jar -> Option D
  4. Quick Check:

    Run jar with 'java -jar' = java -jar app.jar [OK]
Hint: Run jar files with 'java -jar filename.jar' [OK]
Common Mistakes:
  • Using build tool commands to run jar directly
  • Omitting '-jar' option
  • Typing invalid Java commands
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard