tutorial starter start español java spring spring-boot

java - starter - ¿Cómo funciona Spring Boot Application internamente?



spring-boot-starter-parent (2)

Estoy trabajando en Spring Boot. Tengo alguna duda

  1. Como sé, Spring Boot tiene un main () y llama estático run () que está presente en SpringApplication. Pero quiero saber cuál es el flujo de la aplicación de arranque Spring?
  2. ¿Podemos ejecutar la aplicación spring boot en un servidor que no sea Tomcat? Si es así, ¿cómo?
  3. ¿Cómo agregar el filtro CRUZ en la aplicación de arranque Spring? Como sabemos en la aplicación Spring MVC, configuramos el filtro CROSS en web.xml, pero Spring Boot no tenemos web.xml. Entonces, ¿cómo configurar esto?

  1. Como sé, Spring Boot tiene un main () y llama estático run () que está presente en SpringApplication. Pero quiero saber cuál es el flujo de la aplicación de arranque Spring?

Spring Boot funciona con una gran cantidad de configuraciones AutoConfiguration genéricas, como DataSourceAutoConfiguration para DataSource etc. Para que no tenga que hacer muchas de las configuraciones y centrarse solo en la lógica de negocios. Lee this para más

  1. ¿Podemos ejecutar la aplicación de arranque spring que no sea el servidor tomcat, si es así, cómo?

Sí, puede iniciar una aplicación de arranque Spring como una aplicación de consola o con otros servidores web como Jetty. Lee this para más

  1. ¿Cómo agregar el filtro CRUZ en la aplicación de arranque Spring? Como sabemos en la aplicación Spring MVC, configuramos el filtro CROSS en web.xml, pero Spring Boot no tenemos web.xml. Entonces, ¿cómo configurar esto?

Solo tiene que agregar un FilterRegistrationBean en su clase con el método principal o cualquier otra clase con @Configuration para registrar un Filter personalizado.

@Bean public FilterRegistrationBean crossFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new CrossFilter()); registration.addUrlPatterns("/*"); return registration; }


A continuación se muestra el flujo de alto nivel de cómo funciona la bota de resorte.

Desde el método de ejecución, el contexto principal de la aplicación se inicia y, a su vez, busca las clases anotadas con @Configuration, inicializa todos los beans declarados en esas clases de configuración y, en función del alcance de esos beans, almacena esos beans en jvm, específicamente en un espacio dentro de JVM que se conoce como contenedor IOC. Después de la creación de todos los beans, configura automáticamente el servlet del despachador y registra las asignaciones de manejador predeterminadas, los mensajes de conversión y todas las demás cosas básicas.

Básicamente, Spring Boot admite tres servidores integrados: - Tomcat (predeterminado), Jetty y Undertow.

Puede agregar filtros cruzados en Spring Boot en uno de los archivos de configuración como

@Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**"); } }