SpringBoot inicio y el principio de montaje automático

A, servlet2 (manantial de edad-MVC)

  1. perfiles:
  • web.xml: Los principales elementos de configuración de inicio artículos
  • aplicación context.xml: Los principales elementos de configuración del paquete de exploración, todo tipo de frijol, gestión de transacciones
  • springMVC.xml: un paquete principal controlador de configuración escanear ViewResolver, analizador parámetro
  1. Iniciar el proceso:
  • Cada proyecto requiere un resorte para el inicio de primavera-initialize contexto, el proceso de inicialización puede ser activado en el contexto del método principal del programa para el proyecto no web.
  • Desde el inicio del proyecto en el contenedor web de entrada, por lo que los desarrolladores pueden no directamente inicialización gatillo primavera-contexto, tenemos que empezar el proceso de inicialización proceso del contenedor y la asociación más fuerte.
  • Debido a la carga el archivo web.xml de análisis sintáctico cuando se inicia el recipiente, es un buen lugar para establecer asociación con precisión web.xml. web.xml configurado en el punto ContextLoadListener esta asociación es que escuchas al contenedor comenzarán a inicializar la primavera-contexto.
  • Desde DispatcherServlet es un controlador central global, todas las solicitudes deben ser para interceptarlo, por lo que su tiempo de inicio debe ser configurado, por defecto es sólo la primera instancia de una solicitud viene en ella.
  • Sin embargo, se puede configurar para iniciar la inicialización de su envase, el proceso de inicialización DispatcherServlet springMVC.xml para leer el archivo de configuración, para completar el controlador de mapeo, vista de resolución, por lo que el análisis de los parámetros.

Dos, servlet3

  1. Servlet3 establece que si el proyecto actual con classPath, hay META-INF / servicios / fichero de configuración javax.servlet.ServletContainerInitializer, y el nombre del archivo ServletContainerInitializer escribió una clase de implementación de toda la clase, método de clase para lograr OnStartup se iniciará cuando el contenedor se llama. clase de interfaz ServletContainerInitializer en el muelle está dispuesto org.springframework.web.SpringServletContainerInitializer.
  2. Se proporciona el resorte mencionado anteriormente para lograr un ServletContainerInitializer @HandlesTypes (WebApplicationInitializer.class) en base a la anotación, la anotación entre paréntesis WebApplicationInitializer las interfaces para todas las clases implementadas en el proyecto conjunto es un conjunto, atravesando el método OnStartup de SpringServletContainerInitializer ejemplos de casos de llamada y 11 método OnStartup, se proporciona interfaz de clase WebApplicationInitializer SpringBoot SpringBootServletInitializer, primavera-contextdispatcherServlet operación de inicialización en este artículos de tiempo se puede colocar en este método, el web.xml así sustituido.
  3. Por @Configuration anotación, necesidad de ser configurado antes de que el grano de primavera-application-context.xml vierte en el recipiente, a continuación, el archivo de configuración XML correspondiente fue reemplazado.
  4. La función principal es la exploración springMVC.xml tener clase @Controller, ya que la clase @SpringBootApplication inicio de anotación integrada @ComponentScan, explora todas las clases comienzan el defecto los paquetes de clase actuales y subpaquetes, las funciones son sustituidos springMVC.xml a.

Tres, arranque por resorte de arranque

  1. Al realizar la función principal de la clase de arranque por resorte de arranque, se crea una instancia de un objeto Tomcat y luego llamar a una serie de métodos Tomcat objeto:
 Tomcat tomcat = new Tomcat();
 tomcat.addWebApp("/", "D:/app/");  //调用此方法是将项目当做web项目放入容器,同时也会触发ServletContainerInitializer的onStartup方法
 tomcat.setPort(8080);
 tomcat.start();
 tomcat.getServer().await();  //启动线程,阻塞等待
  1. @ResponseBody manera de añadir anotaciones representa el valor de retorno al proceso de conversión de mensajes, de lo contrario, para ver analizador.
@Configuration
public class GsonMessageConverterConfig implements WebMvcConfigurer {

	@Override //自定义消息解析器
	public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
		converters.add(new GsonHttpMessageConverter());
	}

	@Override //自定义视图解析器
	public void configureViewResolvers(ViewResolverRegistry registry) {
		registry.jsp("/", ".jsp");
	}
}

Supongo que te gusta

Origin www.cnblogs.com/JaxYoun/p/12597676.html
Recomendado
Clasificación