Springboot
Springboot 的优点是什么?
1、减少开发、测试时间和努力
2、使用 JavaConfig 有助于避免使用 XML
3、避免大量的 maven 导入和各种版本冲突
4、提供意见发展方法
5、通过提供默认值快速开始开发
6、没有单独的 web 服务器需要,这就意味着不再需要启动 Tomcat、Glassfish 或其他任何 东西
7、需要更少的配置,因为没有 web.xml 文件。只需添加用@Configuration 注释的类,然后 添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。甚至可以将 @Autowired 添加到 bean 方法中,以使用 Spring 自动装入需要的依赖关系中
启动流程如下:
- 初始化监听器,以及添加到SpringApplication的自定义监听器。
- 发布ApplicationStartedEvent事件,如果想监听ApplicationStartedEvent事件,你可以这样定义:public class ApplicationStartedListener implements ApplicationListener,然后通过SpringApplication.addListener(..)添加进去即可。
- 装配参数和环境,确定是web环境还是非web环境。
- 装配完环境后,就触发ApplicationEnvironmentPreparedEvent事件。
- 如果SpringApplication的showBanner属性被设置为true,则打印启动的Banner。
- 创建ApplicationContext,会根据是否是web环境,来决定创建什么类型的ApplicationContext。
- 装配Context的环境变量,注册Initializers、beanNameGenerator等。
- 发布ApplicationPreparedEvent事件。
- 注册springApplicationArguments、springBootBanner,加载资源等
- 遍历调用所有SpringApplicationRunListener的contextLoaded()方法。
- 调用ApplicationContext的refresh()方法,装配context beanfactory等非常重要的核心组件。
- 查找当前ApplicationContext中是否注册有CommandLineRunner,如果有,则遍历执行它们。
- 发布ApplicationReadyEvent事件,启动完毕,表示服务已经可以开始正常提供服务了。通常我们这里会监听这个事件来打印一些监控性质的日志,表示应用正常启动了。

浙公网安备 33010602011771号