第一阶段:SpringBoot源码分析

1.1 SpringBoot 案例实现

SpringBoot默认只扫描启动类所在包及其子包。

1.2 热部署

冷启动:除了加载自身的项目类文件,还加载第三方
热部署:只加载自身的项目类文件,无需加载第三方

1.3 热部署原理分析

    从官网可以查看,我们进入了插件以后,插件会监控classpath的组员变化,当classpath由变化以后,会触发重启。

    该插件重启快速的原因:这里对类加载采用了两种类加载器,
对于第三方jar包采用base-classloader来加载,
对于开发人员开发的代码采用restartClassloader来进行加载

1.4SpringBoot全局配置文件

SpringBoot启动会加载全局配置文件:
全局配置文件能够一些默认值进行修改及自定义配置
<span class="copy-code-btn">&#x590D;&#x5236;&#x4EE3;&#x7801;</span>
Spring&#x53EA;&#x652F;&#x6301;&#x7684;&#x4E24;&#x79CD;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x7C7B;&#x578B;&#xFF1A;.properties &#x548C; .yaml
&#x6BD4;&#x8F83;&#xFF1A;
application.properties
application.properties&#x662F;&#x4EE5;key:value&#x7684;&#x5F62;&#x5F0F;
application.yaml:
json&#x8D85;&#x7EA7;&#x6587;&#x672C;&#x683C;&#x5F0F;&#x6587;&#x4EF6;
yaml&#x6587;&#x4EF6;&#x66F4;&#x7C7B;&#x4F3C;&#x4E8E;&#x6811;&#x72B6;&#x7ED3;&#x6784;&#xFF0C;&#x770B;&#x8D77;&#x6765;&#x6BD4;application.properties&#x6587;&#x4EF6;&#x66F4;&#x52A0;&#x6E05;&#x6670;&#x4E00;&#x70B9;
SpringBoot&#x542F;&#x52A8;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x4F1A;&#x5728;&#x90A3;&#x4E9B;&#x76EE;&#x5F55;&#x4E0B;&#x52A0;&#x8F7D;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF1A;
-file: ./config/
-file: ./
-classpath: /config/
-classpath: /

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析
&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x52A0;&#x8F7D;&#x987A;&#x5E8F;&#xFF1A;
&#x4E0B;&#x56FE;&#x5E8F;&#x53F7;

i下

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

1.5 application.properties配置文件讲解

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

1.6 application.yaml

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析
&#x590D;&#x5236;&#x4EE3;&#x7801;

1.7 Value属性注入

第一阶段:SpringBoot源码分析

1.8 ConfigurationProperties批量注入

1.9 ConfigurationProperties注入于@Value区别

第一阶段:SpringBoot源码分析

2.0 SpringBoot日志框架

第一阶段:SpringBoot源码分析

2.1 SLF4J日志工具的使用

第一阶段:SpringBoot源码分析

2.2 统一框架的使用

第一阶段:SpringBoot源码分析

2.3 SpringBoot日志使用

第一阶段:SpringBoot源码分析

2.4 SpringBoot自定义日志输出

第一阶段:SpringBoot源码分析

第一阶段:SpringBoot源码分析

Original: https://www.cnblogs.com/pxza/p/16003646.html
Author: 人生的激活码
Title: 第一阶段:SpringBoot源码分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/580080/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mybatis plus通过java代码进行权限等全局控制

    在mapper.xml中调用java静态方法,并且传递一些参数 在静态方法中进行sql拼接,可以用于用户权限管理、数据权限管理等等 一、静态方法 拼接sql,可以调用缓存中的用户权…

    Java 2023年6月16日
    069
  • java学习之JSP

    JSP:全拼写:java Server pages:java 服务器端页面可以理解为一个特殊的页面:可以定义html代码也可以定义java的代码定义:JSP是简化Servlet编写…

    Java 2023年6月13日
    073
  • 责任链设计模式

    责任链(职责链) 设计模式详解 在现实生活中,一个事件需要经过 多个对象 处理是很常见的场景。比如:采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理、总经…

    Java 2023年6月6日
    092
  • docker

    一.Docker入门 1. Docker 为什么会出现 Docker是基于Go语言开发的!开源项目 4.1. 虚拟化技术的缺点 资源占用十分多 冗余步骤多 启动很慢 2.2. 容器…

    Java 2023年6月9日
    0141
  • day01-需求分析和系统设计

    对传输数据的分析: 因为在通讯的时候信息的种类和信息比较多,如果使用文本的方式来传递数据,那么服务器拿到信息的时候对其进行拆解会很麻烦。因此使用对象的方式来进行数据的传输(同时使用…

    Java 2023年6月15日
    082
  • Skywalking-02:如何写一个Skywalking trace插件

    如何写一个Skywalking trace插件 javaagent 原理 美团技术团队-Java 动态调试技术原理及实践 类图 实现 ConsumeMessageConcurren…

    Java 2023年6月5日
    093
  • MyBatis 多条件查询、动态SQL、多表操作、注解开发,应有尽有,一网打尽!

    来源:iyu77.blog.csdn.net/article/details/125761737 MyBatis封装了JDBC通过Mapper代理的方式,以前繁琐的操作通过&#82…

    Java 2023年6月15日
    096
  • Linux系统(根目录下)目录介绍

    Linux系统(根目录下)目录介绍根目录(/)包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。★/boot 引导程序,内核等存放的目录这个目录,包括了在引导过…

    Java 2023年6月7日
    087
  • Centos7.5安装OpenJDK1.8

    安装openJDK 1.8yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel 获取java home dirnam…

    Java 2023年5月30日
    094
  • Docker:Docker基础知识

    docker是什么 docker 是一个基于Go语言的开源应用容器引擎。 docker可以让开发者打包自己的应用到一个轻量级、可移植的容器中,实现容器化。 不同容器内的程序不会相互…

    Java 2023年6月7日
    067
  • 删除链表中的节点_237_83_82_203

    请编写一个函数,用于删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问要被删除的节点 。 题目数据保证需要删除的节点不是末尾节点 。…

    Java 2023年6月5日
    082
  • leetcode 513. Find Bottom Left Tree Value 找树左下角的值 (简单)

    给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3]输出: 1 示例 2…

    Java 2023年6月14日
    085
  • 【Java面试】3年经验,这个问题该怎么回答 Mybatis是如何进行分页的?

    “Mybatis是如何进行分页的”?这是一个工作了3年的同学,在面试的时候遇到的问题。大家好,我是Mic,一个工作了14年的Java程序员。经常有同学在后台…

    Java 2023年6月16日
    085
  • Spring Cache缓存框架

    Spring Cache是Spring体系下标准化缓存框架。Spring Cache有如下优势: *缓存品种多 *平滑迁移 Spring内部支持的缓存,可实现无缝平滑迁移,无需修改…

    Java 2023年6月6日
    060
  • 1.2 文件过滤器FilenameFilter

    文件过滤器是File文件的拓展,通过该过滤器可以在File类中的list()方法中传递一个FilenameFileter参数,来指定返回的文件格式。 下面展示两种使用文件过滤器的方…

    Java 2023年6月13日
    0108
  • jdk8系列三、jdk8之stream原理及流创建、排序、转换等处理

    一、为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它…

    Java 2023年5月30日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球