Universidad de Shandong Software College Project Training-Innovative Training-Shandong University Software Institute Network Attack and Defense Shooting Range Experimental Platform (4)


Prefacio:

El artículo anterior describió brevemente el uso básico del marco springboot.Este artículo analiza brevemente los principios subyacentes y el mecanismo operativo de springboot.

Notas del video del curso: https://www.bilibili.com/video/BV1PE411i7CV


1. Análisis de la estructura del proyecto

El proyecto básico se crea a través de los pasos anteriores. Los siguientes archivos se generan automáticamente.

1. La clase de inicio principal del programa.

2. Un archivo de configuración application.properties

3. Una clase de prueba

4. Un pom.xml

análisis pom.xml

Abra pom.xml y analice las dependencias del proyecto Spring Boot:

  1. dependencia de los padres
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/>
</parent>
  1. lanzador de escena web
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  1. pruebas unitarias springboot
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <!-- 剔除依赖 -->
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>
  1. Complementos de empaquetado
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>


2. Análisis simple del principio de funcionamiento

Estudie el proyecto SpringBoot en el artículo anterior, cómo funciona, en primer lugar un proyecto Maven, generalmente comenzamos desde el archivo pom.xml.


1. Dependencia de los padres

Entre ellos, depende principalmente de un proyecto principal, ¡principalmente para administrar el filtrado de recursos y los complementos del proyecto!

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

Haga clic y descubra que también hay una dependencia principal

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

Aquí es donde realmente se gestionan todas las versiones de dependencia en la aplicación SpringBoot, el centro de control de versiones de SpringBoot;

En el futuro, cuando importemos dependencias, no necesitaremos escribir la versión por defecto, pero si el paquete importado no está administrado en la dependencia, necesitaremos configurar manualmente la versión.


2. Arrancador de arranque por resorte

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

springboot-boot-starter-xxx: es el iniciador de escena de spring-boot

spring-boot-starter-web: Nos ayuda a importar los componentes de los que depende el módulo web para su funcionamiento normal;

SpringBoot extrae todos los escenarios funcionales y los convierte en iniciadores (starters) uno por uno. Solo necesitamos introducir estos iniciadores en el proyecto, y todas las dependencias relacionadas serán importadas. Podemos importar qué tipo de función queremos usar. La escena lanzador servirá. Por supuesto, también podemos personalizar nosotros mismos el motor de arranque.


3. Clase de inicio principal

Después de analizar pom.xml, echemos un vistazo a esta clase de inicio

Clase de inicio principal predeterminada

//@SpringBootApplication 来标注一个主程序类
//说明这是一个Spring Boot应用
@SpringBootApplication
public class SpringbootApplication {
    
    

   public static void main(String[] args) {
    
    
     //以为是启动了一个方法,没想到启动了一个服务
      SpringApplication.run(SpringbootApplication.class, args);
   }

}

De hecho, una clase de inicio simple no es simple. Sus anotaciones harán muchas cosas. No realizaremos una investigación profunda aquí. Después de todo, la comprensión profunda del mecanismo operativo y el principio de springboot no es el objetivo principal de nuestro Actualmente estamos El objetivo es usar Springboot para construir el proyecto. Así que es básicamente suficiente para aprender aquí.


4. Análisis de proceso del método de ejecución

Pegue un diagrama de análisis de proceso descrito en el curso Mad God
inserte la descripción de la imagen aquí
(la imagen proviene de la cuenta pública: Mad God Says)



Referencias

Blog de referencia:
https://blog.csdn.net/cowbin2012/article/details/88861160
https://www.cnblogs.com/shamo89/p/8184960.html
https://www.jianshu.com/p/ef6f0c0de38f
https://www.cnblogs.com/jstarseven/p/11087157.html
https://www.cnblogs.com/gslblog/p/7986279.html


Vídeo de referencia:
https://www.bilibili.com/video/BV1PE411i7CV
https://www.bilibili.com/video/av838087622/

Supongo que te gusta

Origin blog.csdn.net/m0_47470899/article/details/123357443
Recomendado
Clasificación