spring boot项目启动原理解密

1:启动类继承SpringBootServletInitializer。

     启动方法:SpringApplication.run(Application.class, args);

2:调用方法

private void initialize(Object[] sources) {
		if (sources != null && sources.length > 0) {
			this.sources.addAll(Arrays.asList(sources));
		}
		this.webEnvironment = deduceWebEnvironment();
		setInitializers((Collection) getSpringFactoriesInstances(
				ApplicationContextInitializer.class));
		setListeners((Collection) getSpringFactoriesInstances(ApplicationListener.class));
		this.mainApplicationClass = deduceMainApplicationClass();
	}

3:初始化构建器(通过类加载器,获取spring.facories=>类的反射机制,构建class和方法=>生成工厂类实体)

4:创建应用监听器

@SpringBootApplication  该注解包含了多个配置注解。方便的写法

猜你喜欢

转载自blog.csdn.net/q1457797371/article/details/89413343