一:SpringBoot的核心理念 三大核心:

1:能够实现帮助开发者快速的整合第三方框架 Spring、mybatis

原理:maven 帮我们进行封装的 和自定义的starter

springbott start 就是快速整合第三方框架依赖

2:完全去除xml配置,采用注解形式

原理:SpringBoot其实根据Spring体系原生的注解实现包装

3:不需要外部容器,内嵌如服务器(tomcat)

原理:Java语言创建tomcat服务器, 然后将本地的class文件交给tomcat加载

SpringBoot的启动原理:

SpringBoot进行选择器注册 到指定的文件名的

    //方式一
//        SpringApplication.run(DataSourceApplication.class,args);//方式二
//        ConfigurableApplicationContext applicationContext = SpringApplication.run(DataSourceApplication.class);
//        applicationContext.getBean("")//方式三
//        new SpringApplication(DataSourceApplication.class).run(args);//方式四SpringApplication springApplication = new SpringApplication(DataSourceApplication.class);ConfigurableApplicationContext run = springApplication.run(args);String[] beanDefinitionNames = run.getBeanDefinitionNames();for (int i = 0; i < beanDefinitionNames.length; i++) {System.out.println(beanDefinitionNames[i]);}/*** 源码分析:*      1:      this.webApplicationType = WebApplicationType.deduceFromClasspath();*      进行判断是 none 还是 web服务器 还是响应式服务器*      在application.yml 里面 进行增加*      spring.main.web-application-type: none|REACTIVE|SERVLET**      2:      ApplicationContextInitializer【在web-inf 里面的 spring.factories】*      3:      ApplicationListener【spring.factories】*      4:      加载启动配置类名字:this.mainApplicationClass = deduceMainApplicationClass();*      5:         Banner printedBanner = printBanner(environment); 打印横幅*      enableSpringApplication  进行加载第三方配置****/

SpringBoot的四大设计思想相关推荐

  1. 【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性

    回看最初的目标:[Java设计模式 学习目标及大纲]高质量代码的标准及实现路径在这篇Blog里我们明确了什么是高质量的代码:易维护.易读.易扩展.灵活.简洁.可复用.可测试,也知道高质量代码的达成路径 ...

  2. 《Springboot设计思想》2-Springboot青出于蓝

    相信使用过Springboot的各位应该深有体会,Springboot的快速搭建能力比传统的Spring framework高出不少.我个人认为归功于一下几点: 版本依赖管理 基于Springboot ...

  3. Linus 谈 Git 的设计思想,顺带骂了一堆人(视频)

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废 今天是周末,但也别忘记学习哦~ 昨天在网络上看到一个视频,<Linux介绍git的特点和设 ...

  4. 【设计思想解读开源框架】java监听模式和观察者模式

    深耕技术,啃下22个技术点 互联网行业更新换代非常快,行业常态便是不断学习,因此这些主流技术你一个都不能落下! ①并发编程 Java并发编程是整个Java开发体系中最难以理解,但也是最重要的知识点之一 ...

  5. MyBatis源码-深入理解MyBatis Executor的设计思想

    文章目录 Pre JDBC的执行过程 JDBC Demo JDBC Statement 接口 MyBatis执行过程 四大组件 组件之间的关系 Executor 执行器组件 架构总览 接口继承关系 P ...

  6. 02.springMVC设计思想及springAOP

    MVC设计思想 历史问题:如果将大量的代码都写到一个方法中,后期维护不易 MVC说明: 1.M Model 数据层 数据处理/数据的持久化 2.V View 视图层 前端页面相关的内容(看到的内容) ...

  7. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  8. 彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

    OkHttp 现在统治了Android的网络请求领域,最常用的框架是:Retrofit+okhttp.OkHttp的实现原理和设计思想是必须要了解的,读懂和理解流行的框架也是程序员进阶的必经之路,代码 ...

  9. 「完结」总结12大CNN主流模型架构设计思想

    http://blog.sina.com.cn/s/blog_cfa68e330102zocn.html 专栏<CNN模型解读>正式完结了,在这一个专栏中,我们给大家回顾了深度学习中的各类 ...

最新文章

  1. 《Python Cookbook》 最佳译本开放下载啦!
  2. 应用丨AI和机器学习如何改变美国政府决策方式
  3. 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计
  4. 云计算数据中心规划设计方案
  5. 线段树之线段操作之陈老师的福利
  6. arraylist转int数组_LeetCode 1389. 按既定顺序创建目标数组
  7. 【ArcGIS遇上Python】长时间序列(30年)每两组栅格数据对应做减法运算求物候参数
  8. Linux rm 删除指定文件外的其他文件 方法汇总
  9. PhotoShop,Web前端 文字间距 与像素之间的关系(换算)
  10. 【STM32】【STM32CubeMX】STM32CubeMX的使用之八:低功耗模式及MCU唤醒
  11. CSDN创始人蒋涛出席2021 中关村论坛,启动“科创中国”开源创新榜单评选
  12. atomic原子类实现机制_JDK中Atomic开头的原子类实现原子性的原理是什么?
  13. 安装谷歌插件 ~ 一招轻松解决
  14. ndarray、array、asarray的区别以及查看变量地址、is和==的区别
  15. java+ElementUI前后端分离旅游项目第三天 报团游
  16. com加载项没反应 ppt wps_EXCEL COM插件无法加载解决方案
  17. [IOS/Swift]'Project Name' was compiled with optimization
  18. 全国大学生数学建模竞赛(建模全过程)
  19. 抽象类和抽象方法详解
  20. 开启Fluter基础之旅三-------Material Design风格组件、Cupertino风格组件、Flutter页面布局篇...

热门文章

  1. 宝贝不开直通车了会降权吗?如何提升产品权重
  2. 移动将推出5G套餐!
  3. 趣图一张:《几何原本》拓扑结构图
  4. Z00334 轻量级JAVAEE企业应用实战(第3版) 百度网盘链接
  5. HTML5响应式手机模板:H5网站设计——政府街道社区wap微信官网模板(11个页面) HTML+CSS+JavaScript 手机模板wap 手机网站模板 企业手机网站模板...
  6. 打完韩国,朝鲜和中国的对话!
  7. 一键登录——Android实现方法
  8. JavaScript高级程序设计(反刍) 11
  9. 简简单单做股票读书笔记(2/8)
  10. sklearn中Polynomialfeatures