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


Prefacio:

Unos días después de que se aprobó la capacitación del proyecto, mi trabajo principal fue completar el conocimiento de docker, instalar docker en el servidor en la nube de Tencent y luego realizar experimentos de operación básica sobre el uso básico de docker a través de la línea de comando. Ahora que domino el uso básico de la ventana acoplable, mi siguiente tarea es aprender a usar programas Java para controlar de forma remota el contenedor de la ventana acoplable en el servidor y realizar operaciones básicas, como: crear un contenedor, detener un contenedor en ejecución, eliminar un contenedor, operaciones básicas como especificar el mapeo de puertos del contenedor, ver todos los contenedores en el sistema, etc. Debido a las discusiones grupales, se decidió que el backend de nuestro proyecto se desarrollara en base al framework springboot. Sin embargo, la mayoría de los miembros de nuestro grupo nunca han estado en contacto con springboot, por lo que primero necesito aprender springboot.Este artículo registra brevemente las partes que creo que son más importantes en el proceso de aprendizaje de springboot. Luego cree un proyecto springboot simple para probar.

El curso en video es la serie de cursos UP Crazy God en la estación B:
https://www.bilibili.com/video/BV1PE411i7CV



1. Introducción a Springboot

Antes de presentar springboot, obtenga información sobre spring. Spring es un marco de código abierto, un marco de desarrollo ligero de Java que surgió en 2003, autor: Rod Johnson.

Spring se creó para abordar las complejidades del desarrollo de aplicaciones empresariales, simplificando el desarrollo.

¿Cómo simplifica Spring el desarrollo de Java?

Para reducir la complejidad del desarrollo de Java, Spring emplea las siguientes cuatro estrategias clave:

  1. Programación ligera y mínimamente invasiva basada en POJOs, todo es un frijol;

  2. Acoplamiento flexible a través de IOC, Inyección de dependencia (DI) y orientado a interfaz;

  3. Programación declarativa basada en aspectos (AOP) y convenciones;

  4. Reduzca el código de estilo a través de facetas y plantillas, RedisTemplate, xxxTemplate;

¿Qué es SpringBoot?

¿Qué es SpringBoot? Es un marco de desarrollo javaweb, similar a SpringMVC. Comparado con los beneficios de otros marcos javaweb, se dice oficialmente que simplifica el desarrollo, y la convención es mayor que la configuración. Puede "simplemente ejecutar" y puede desarrollar rápidamente aplicaciones web con unas pocas líneas de código Desarrollar una interfaz http.

Spring Boot se desarrolla sobre la base de Spring. Spirng Boot en sí no proporciona las características principales ni las funciones de extensión del framework Spring, sino que solo se utiliza para desarrollar de forma rápida y ágil una nueva generación de aplicaciones basadas en el framework Spring. Es decir, no es una solución para reemplazar a Spring, sino una herramienta que está estrechamente integrada con el marco de trabajo de Spring para mejorar la experiencia del desarrollador de Spring. Con la idea central de la convención sobre la configuración, Spring Boot nos ayuda a realizar muchas configuraciones de forma predeterminada.La mayoría de las aplicaciones de Spring Boot solo necesitan una pequeña configuración de Spring. Al mismo tiempo, integra una gran cantidad de configuraciones de bibliotecas de terceros de uso común (como Redis, MongoDB, Jpa, RabbitMQ, Quartz, etc.), y estas bibliotecas de terceros en aplicaciones Spring Boot se pueden usar fuera de la caja con configuración casi nula.

En resumen, SpringBoot no es un marco nuevo. Está configurado con muchos marcos de forma predeterminada, al igual que Maven integra todos los paquetes jar y Spring Boot integra todos los marcos.

Las principales ventajas de Spring Boot:

  1. Incorporación más rápida para todos los desarrolladores de Spring

  2. Fuera de la caja, se proporcionan varias configuraciones predeterminadas para simplificar la configuración del proyecto

  3. Los contenedores en línea simplifican los proyectos web

  4. Sin generación de código redundante y requisitos de configuración XML

2. hola mundo

Preparación del entorno:
java versión "1.8.0_181"
Maven-3.6.1
SpringBoot 2.x


herramientas de desarrollo:
IDEA


1. Método de creación de proyectos 1: use la página web de Spring Initialize para crear un proyecto

1. Abra https://start.spring.io/
inserte la descripción de la imagen aquí

2. Complete la información del proyecto
inserte la descripción de la imagen aquí

3. Haga clic en el botón "Generar proyecto" para generar el proyecto, descargue este proyecto
inserte la descripción de la imagen aquí

4. Descomprima el paquete del proyecto y use IDEA para importarlo como un proyecto Maven, hasta el siguiente paso hasta que se importe el proyecto.
inserte la descripción de la imagen aquí

5. Si se usa por primera vez, la velocidad puede ser más lenta, hay más paquetes y debe esperar pacientemente a que todo esté listo.



2. Método de creación de proyectos 2: use IDEA para crear un proyecto directamente

1. Crear un nuevo proyecto

2. Seleccione spring initalizr, puede ver que el valor predeterminado es ir a la herramienta de compilación rápida en el sitio web oficial para implementar

3. Complete la información del proyecto
inserte la descripción de la imagen aquí

4. Seleccione el componente inicializado (puede consultar la Web para principiantes)
inserte la descripción de la imagen aquí

5. Complete la ruta del proyecto

6. Espere a que el proyecto se construya con éxito



3. Prueba hola mundo

Escribir una interfaz http

1. En el directorio del mismo nivel del programa principal, cree un nuevo paquete de controlador, que debe estar en el directorio del mismo nivel; de lo contrario, no se reconocerá.
inserte la descripción de la imagen aquí

2. Cree una nueva clase hello_world en la
dependencia del paquete

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

escribir código de prueba

package com.example.test.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class hello_world {
    
    
    @RequestMapping("/hello")
    public String hello(){
    
    
        return "Hello-World";
    }
}

3. Después de escribir, inicie el proyecto desde el programa principal, el navegador inicia una solicitud y la página regresa, ¡la consola muestra el número de puerto al que accedió Tomcat!
inserte la descripción de la imagen aquí

Unos sencillos pasos para completar el desarrollo de una interfaz web

Al escribir el proyecto en un paquete jar, haga clic en el paquete maven
inserte la descripción de la imagen aquí
y luego empaquetarlo en un paquete jar, puede encontrar los siguientes errores
inserte la descripción de la imagen aquí
Si encuentra los errores anteriores, puede configurar el paquete para omitir el proyecto y ejecutar el caso de prueba

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <!--跳过项目运行测试用例-->
        <skipTests>true</skipTests>
    </configuration>
</plugin>

Si el empaquetado es exitoso, se generará un paquete jar en el directorio de destino. Después de empaquetar el paquete jar, se puede ejecutar en cualquier lugar. Cuando finalmente generamos una imagen de ventana acoplable, también se empaquetará en un paquete jar, y luego escriba un archivo dockerfile para regenerar Publicado como una imagen reflejada.



Referencias

Blog de referencia:
https://blog.csdn.net/baidu_39298625/article/details/98102453
https://blog.csdn.net/wjg8209/article/details/94546110
https://blog.51cto.com/yaowusheng/2565318
https://www.jianshu.com/p/9f8d2d91d119


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

Supongo que te gusta

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