Spring Boot Entrevista Pregunta 1

inserte la descripción de la imagen aquí
Spring Boot es el mejor framework Java para microservicios, te recomendamos convertirte en un experto en Spring Boot.

Pregunta uno

¿Cuál es la diferencia entre Spring Boot, Spring MVC y Spring?
SpringFrame
La característica más importante de SpringFramework es la inyección de dependencia. Todos los SpringModules son Inyección de Dependencia o Inversión de Control IOC.

Cuando usamos DI o IOC correctamente, podemos desarrollar aplicaciones débilmente acopladas. Las pruebas unitarias de aplicaciones débilmente acopladas se pueden realizar fácilmente.

SpringMVC
Spring MVC proporciona un enfoque desacoplado para desarrollar aplicaciones web. Mediante el uso de algunos conceptos simples como DispatcherServlet, MoudlAndView y ViewResolver, el desarrollo de aplicaciones web será muy sencillo.

El problema con SpringBoot
Spring y SpringMVC es que es necesario configurar una gran cantidad de parámetros.



/WEB-INF/views/


.jsp

<mvc:resources mapping="/webjars/**" location="/webjars/"/>
Copie
Spring Boot para resolver este problema con un proyecto de inicio y configuración automática. Para crear aplicaciones listas para producción más rápido, Spring Boot proporciona algunas características no funcionales.

pregunta dos

¿Qué es la configuración automática?
El problema con Spring y SpringMVC es que hay muchos parámetros para configurar.



/WEB-INF/views/.jsp <


mvc

:resources mapping="/webjars/**" location="/webjars/"/>
Copiar
¿Podemos aportar más inteligencia? ¿Podemos configurar automáticamente algunos beans cuando se agrega un MVC JAR a la aplicación?

Spring analiza (marcos disponibles en CLASSPATH) la configuración de una aplicación existente. Sobre esta base, Spring Boot proporciona la configuración básica necesaria para configurar la aplicación y el marco. Esta es la configuración automática.

pregunta tres

¿Qué es Spring Boot Stater?
Un lanzador es un conjunto conveniente de descriptores de dependencia que puede colocar en su propio programa. Obtiene todas las tecnologías Spring y relacionadas que necesita en un solo lugar, sin la necesidad de buscar a través del código de muestra y copiar y pegar un montón de descriptores dependientes.

Por ejemplo, si desea usar Spring y JPA para acceder a una base de datos, solo necesita que su proyecto incluya la dependencia spring-boot-starter-data-jpa y está listo para comenzar.

pregunta cuatro

¿Puede dar un ejemplo para explicar más sobre Staters?

Consideremos un ejemplo de Stater - Spring Boot Stater Web.

Si desea desarrollar una aplicación web o una aplicación que exponga servicios REST. Se prefiere Spring Boot Start Web. Vamos a crear un proyecto rápido Spring Boot Start Web usando Spring Initializr.

Dependencias para Spring Boot Start Web

org.springframework.boot spring-boot-starter-web Copiar Las capturas de pantalla a continuación son las diferentes dependencias agregadas a nuestra aplicación

inserte la descripción de la imagen aquí

Las dependencias se pueden dividir en

Primavera - núcleo, frijoles, contexto, aop

Web MVC - (primavera MVC)

Jackson - para encuadernación JSON

Validación - Hibernate, API de validación

Contenedor de servlet incorporado - Tomcat

Registro - inicio de sesión, slf4j

Cualquier aplicación web clásica utiliza todas estas dependencias. Spring Boot Starter Web viene preempaquetado con estas dependencias.

Como desarrollador, ya no necesito preocuparme por estas dependencias y sus versiones compatibles.

pregunta cinco

¿Qué otras opciones de proyecto de inicio proporciona Spring Boot?
Spring Boot también proporciona otros proyectos iniciales que incluyen dependencias típicas para desarrollar un tipo particular de aplicación.

spring-boot-starter-web-services - Servicios web SOAP

spring-boot-starter-web - Aplicaciones web y RESTful

spring-boot-starter-test - pruebas unitarias y de integración

spring-boot-starter-jdbc - JDBC tradicional

spring-boot-starter-hateoas: agrega la funcionalidad HATEOAS a los servicios

spring-boot-starter-security - Autenticación y autorización con SpringSecurity

spring-boot-starter-data-jpa - Spring Data JPA con Hibeernate

spring-boot-starter-data-rest - Exponer servicios REST simples usando Spring Data REST

pregunta seis

¿Cómo crea Spring rápidamente aplicaciones listas para producción?
Spring Boot tiene que ver con aplicaciones rápidas listas para producción. Con este fin, proporciona funciones no funcionales listas para usar, como almacenamiento en caché, registro, monitoreo y servidores integrados.

spring-boot-starter-actuator: use algunas funciones avanzadas como aplicaciones de monitoreo y rastreo

spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat: elija su contenedor Servlet integrado específico

spring-boot-starter-logging - Iniciar sesión con logback

spring-boot-starter-cache: habilita el soporte de almacenamiento en caché de Spring Framework

¿Cuál es la versión mínima de Java requerida para Spring2 y Spring5?

Spring Boot 2.0 requiere Java8 o posterior. Java6 y Java7 ya no son compatibles.

Lectura recomendada:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-M1-Release-Notes

pregunta siete

¿Cuál es la forma más fácil de crear un proyecto Spring Boot?
Spring Initializr es una gran herramienta para iniciar proyectos Spring Boot.

Como se muestra en la figura anterior, debemos realizar algunos pasos:
inicie sesión en Spring Initializr y seleccione lo siguiente:
seleccione com.in28minutes.springboot como grupo
, seleccione studet-services como componente,
seleccione las siguientes dependencias, haga clic en
Web
Actuator
DevTools
Generate GenerateProject
para importar el proyecto a Eclipse. Archivo - Importar - Proyecto Maven existente
Pregunta 8

¿Es Spring Initializr la única forma de crear proyectos Spring Boot?
No.

Spring Initiatlizr facilita la creación de proyectos Spring Boot; sin embargo, también puede iniciar un proyecto configurando un proyecto maven y agregando las dependencias correctas.

En nuestros cursos de primavera, utilizamos dos enfoques para crear proyectos.

El primer método es start.spring.io.
Otro método es configurarlo manualmente en el proyecto titulado "Aplicación web básica".

Configurar manualmente un proyecto maven

Aquí hay algunos pasos importantes:

En Eclipse, use File - New Maven Project para crear un nuevo proyecto
y agregar dependencias.
Agregue el complemento experto.
Agregue la clase de aplicación Spring Boot.
Aquí, los preparativos están hechos!

pregunta nueve

¿Por qué necesitamos spring-boot-maven-plugin?
spring-boot-maven-plugin proporciona algunos comandos para empaquetar o ejecutar aplicaciones como jars.

spring-boot:run ejecuta su aplicación Spring Booty.
spring-boot:repackage vuelve a empaquetar su paquete jar o war para hacerlo ejecutable
spring-boot:start y spring-boot:stop administran el ciclo de vida de las aplicaciones Spring Boot (también para pruebas de integración).
spring-boot:build-info genera información de compilación que el ejecutor puede usar.
pregunta diez

¿Cómo recargar automáticamente mi aplicación con SpringBoot?
Utilice las herramientas de desarrollo de Spring Boot.

Agregar las herramientas de desarrollo de Spring Boot a su proyecto es simple.

Agregue las siguientes dependencias a su Spring Boot Project pom.xml

org.springframework.boot spring-boot-devtools runtime Copiar reinicie la aplicación, entonces está bien.

Además, si desea cargar páginas automáticamente, eche un vistazo a FiveReload

http://www.logicbig.com/tutorials/spring-framework/spring-boot/boot-live-reload/.
Cuando probé, encontré la vulnerabilidad LiveReload. Si también la encontró durante la prueba, infórmenos.

pregunta once

¿Qué es un servidor integrado? ¿Por qué deberíamos usar un servidor incorporado?
Piense en lo que se necesita para implementar una aplicación en su máquina virtual.

Paso 1: Instalar Java

Parte 2: Instalar el servidor web o de aplicaciones (Tomat/Wbesphere/Weblogic, etc.)

Parte 3: implementar el paquete de guerra de aplicaciones

Si queremos simplificar estos pasos, ¿cómo debemos hacerlo?

Pensemos en cómo hacer que el servidor forme parte de la aplicación.

Solo necesita una máquina virtual con Java instalado y puede implementar aplicaciones directamente en ella, ¿
no es genial?

Esta idea es el origen de los servidores integrados.

Cuando creamos una aplicación desplegable, incrustaremos el servidor (por ejemplo, Tomcat) en el servidor desplegable.

Por ejemplo, para una aplicación Spring Boot, puede generar un jar de aplicación que incluya Embedded Tomcat. A continuación, puede ejecutar la aplicación web como lo haría con una aplicación Java normal.

Un servidor incorporado es donde nuestra unidad ejecutable contiene el binario del servidor (por ejemplo, tomcat.jar).

pregunta doce

¿Cómo agregar código JS común en Spring Boot?
En la carpeta de origen, cree una carpeta llamada estática. Luego, puede poner su contenido estático allí.

Por ejemplo, la ruta a myapp.js es resources\static\js\myapp.js

Puede consultar cómo se usa en jsp


复制
错误:El navegador HAL me da un error no autorizado: se requiere autenticación completa para acceder a este recurso.

¿Cómo arreglar este error?

{ "marca de tiempo": 1488656019562, "estado": 401, "error": "No autorizado", "mensaje": "Se requiere autenticación completa para acceder a este recurso", "ruta": "/beans" } Copie dos métodos:







Método 1: desactivar
la aplicación de verificación de seguridad.propiedades

management.security.enabled: FALSO Método
de replicación
2: busque la contraseña en el registro y pásela al encabezado de la solicitud
Pregunta 13

¿Qué es la fecha de primavera?
De: //proyectos.spring.io/spring-data/

La misión de Spring Data es proporcionar un modelo de programación familiar, coherente y basado en Spring para el acceso a los datos al tiempo que garantiza la especificidad del almacenamiento de datos subyacente. Esto facilita el uso de tecnologías de acceso a datos, bases de datos relacionales y no relacionales, marcos de reducción de mapas y servicios de datos basados ​​en la nube.

Para hacerlo un poco más fácil, Spring Data proporciona una interfaz de abstracciones que no está restringida por la fuente de datos subyacente.

aquí hay un ejemplo

interface TodoRepository extiende CrudRepository<Todo, Long> { Copiar Puede definir una biblioteca simple para insertar, actualizar, eliminar y recuperar elementos pendientes sin escribir mucho código.

Supongo que te gusta

Origin blog.csdn.net/m0_54861649/article/details/126665787
Recomendado
Clasificación