springboot学习整理宏观层面

springboot三大特性
1、帮助开发人员实现快速整合第三方框架,封装maven依赖和自定义startee
2、使用springboot可以完全采用注解化启动项目,注解形式原理,springboot包装了spring springmvc注解启动方式。
3、springboot内嵌tomcat容器,其实就是使用java语言本身创建tomcat服务器

分析springboot源码过程
1、有哪些注解
2、springapplication启动流程分析
3、springboot之tomcat启动流程分析
4、springboot之springmvc启动流程分析
5、springboot启动自定义启动打印信息

springboot启动流程

核心分为两个步骤
1:创建springbootApppplication对象
2、调用springbootApppplication run 启动并返回当前容器上下文

分析流程
1)、创建springbootApppplication对象 springboot容器初始化操作
2)获取当前应用启动类型 判断当前classpsth是否加载有servlet类,返回servlet web启动方式
3)、webapplicationtype有三种类型
1、响应式启动
2、none 不会嵌入web容器启动 将springboot项目放入外部容器中启
3servlet基于web容器启动

3、setlnitializers读取Spr ingBoot包下面的META- |NF/spring. factories获取到对应Appl icat ionContext Initializer装配到集合中,一共是6个
4、setListeners 读取SpringBoot包下面的META- INF/spring.factories获取到对应ApplicationListener装配到集合中
5,mainApplicationClass获取当前运行的主函数

6,调用SpringApplication的run方法实现启动

7,StopWatch stopWatch = new StopWatch();
记录springboot项目启动时间
8,getRunListeners(args)读取所有包里面的META-INF/spring.factories文件中的SpringApplicationRunListener类型存入到集合中

9,listeners.starting();循环执行集合中所有项的starting方法

10,ConfigurableEnvironment environment = prepareEnvironment(listeners, applicationArguments);

读取配置文件到springboot容器中

11,Banner printedBanner = printBanner(environment);

打印Banner图

12,context = createApplicationContext();

13,refreshContext(context); 刷新上下文

14,开始创建tomcat容器

15,开始加载SpringMVC

16,afterRefresh(context, applicationArguments);

一个空的模板方法,可以供子类重写

17,listeners.started(context);

使用广播和回调机制通知监听器springboot容器已经启动成功

18,listeners.running(context);

使用广播和回调机制通知监听器springboot容器已经启动成功,可以正常运行项目

19,最后返回当前上下文对象

以上原理由每特教育&蚂蚁课堂余老师分析

资源下载链接为: https://pan.quark.cn/s/3d8e22c21839 随着 Web UI 框架(如 EasyUI、JqueryUI、Ext、DWZ 等)的不断发展与成熟,系统界面的统一化设计逐渐成为可能,同时代码生成器也能够生成符合统一规范的界面。在这种背景下,“代码生成 + 手工合并”的半智能开发模式正逐渐成为新的开发趋势。通过代码生成器,单表数据模型以及一对多数据模型的增删改查功能可以被直接生成并投入使用,这能够有效节省大约 80% 的开发工作量,从而显著提升开发效率。 JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台。它引领了一种全新的开发模式,即从在线编码(Online Coding)到代码生成器生成代码,再到手工合并(Merge)的智能开发流程。该平台能够帮助开发者解决 Java 项目中大约 90% 的重复性工作,让开发者可以将更多的精力集中在业务逻辑的实现上。它不仅能够快速提高开发效率,帮助公司节省大量的人力成本,同时也保持了开发的灵活性。 JEECG 的核心宗旨是:对于简单的功能,可以通过在线编码配置来实现;对于复杂的功能,则利用代码生成器生成代码后,再进行手工合并;对于复杂的流程业务,采用表单自定义的方式进行处理,而业务流程则通过工作流来实现,并且可以扩展出任务接口,供开发者编写具体的业务逻辑。通过这种方式,JEECG 实现了流程任务节点和任务接口的灵活配置,既保证了开发的高效性,又兼顾了项目的灵活性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值