Home >Java >javaTutorial >A brief introduction to Spring Boot main class and directory structure (with examples)

A brief introduction to Spring Boot main class and directory structure (with examples)

不言
不言Original
2018-09-27 16:44:173432browse

This article brings you a brief introduction to the main class and directory structure of Spring Boot (with examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

The biggest difference between Spring Boot and traditional projects is that traditional projects are packaged into WAR packages and deployed to the server, requiring additional Servlet containers, while Spring Boot can be directly packaged into jar packages and built-in integration The Servlet container can be run directly through the command java -jar xx.jar without the need for an independent Servlet container.

After making it an executable jar package, let’s take a look at the META-INF/MANIFEST.MF file.

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: admin
Start-Class: cn.javastack.MyApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.0.4.RELEASE
Created-By: Apache Maven 3.5.0
Build-Jdk: 1.8.0_151
Main-Class: org.springframework.boot.loader.JarLauncher

There is a Start-Class which is the entry class of this jar package. It is recommended that this entry class be placed in the top-level package of a project, and all other classes are placed under its sub-packages. Directory structure As shown below.

cn
 +- javastack
     +- MyApplication.java
     |
     +- customer
     |   +- Customer.java
     |   +- CustomerController.java
     |   +- CustomerService.java
     |   +- CustomerRepository.java
     |
     +- order
         +- Order.java
         +- OrderController.java
         +- OrderService.java
         +- OrderRepository.java

This directory structure is the mainstream and recommended approach, and the @SpringBootApplication annotation is added to the main entry class to enable various capabilities of Spring Boot, such as automatic configuration, component scanning, etc.

package cn.javastack.MyApplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}

If you don’t want to do this, you can also make full use of @EnableAutoConfiguration and @ComponentScan annotations to customize your behavior, but this is not a recommended approach.

The above is the detailed content of A brief introduction to Spring Boot main class and directory structure (with examples). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn