SpringBoot的加载机制
时间: 2023-11-19 21:33:16 浏览: 78
SpringBoot的加载机制是基于约定优于配置的原则,通过@SpringBootApplication注解标注主类,自动扫描并加载@SpringBootApplication注解下的所有组件和配置文件。SpringBoot会默认加载classpath:/META-INF/resources、classpath:/resources/、classpath:/static/、classpath:/public/目录下的静态资源,也会自动加载application.properties或application.yml配置文件。同时,SpringBoot使用自动配置的方式,根据依赖的库来自动配置相应的组件,大大简化了项目的配置工作。
相关问题
springboot加载机制
SpringBoot的加载机制是通过加载不同的属性资源加载器来实现的。在底层构建加载的Loader类的时候,SpringBoot从spring.factories的配置文件中读取到了两种属性资源加载器并进行了实例化,即PropertiesPropertySourceLoader和YamlPropertySourceLoader。当启动SpringBoot应用时,默认会加载名为application的配置文件。如果想要指定特定名称的配置文件,可以在启动之前配置spring.config.name属性。
springboot类加载机制
Spring Boot 使用标准的 Java 类加载机制来加载和管理应用程序的类。在 Spring Boot 应用程序启动时,会通过类加载器来加载应用程序的所有类。
Spring Boot 使用的类加载器层次结构由以下几个组成:
1. Bootstrap ClassLoader:这是 Java 虚拟机(JVM)的根加载器,负责加载 Java 核心类库,如 java.lang 包中的类。
2. Extension ClassLoader:这个类加载器负责加载 Java 的扩展类库,如 javax 包中的类。
3. Application ClassLoader:也称为 System ClassLoader,它是应用程序的默认类加载器。它负责加载应用程序的类和依赖的第三方类库。
Spring Boot 应用程序一般是通过 Application ClassLoader 加载的。它会在应用程序启动时将指定的主类加载到内存中,并解析该类的依赖关系。然后,它会递归地加载和解析这些依赖类,直到所有依赖都被加载完毕。加载后的类将被存放在 JVM 的方法区中,供应用程序运行时使用。
值得注意的是,Spring Boot 应用程序还可以使用自定义的类加载器。自定义类加载器可以扩展 Application ClassLoader 并实现特定的加载逻辑,以满足应用程序的需求。但是,在一般情况下,使用默认的类加载机制已经足够满足大多数应用程序的需求了。
阅读全文