springboot 启动加载类
时间: 2023-10-12 11:00:25 浏览: 50
在 Spring Boot 中,可以使用以下方式来加载类:
1. 自动配置:Spring Boot 自动配置会扫描 classpath 下的特定包并加载相应的类。
2. 组件扫描:通过在启动类上添加 `@ComponentScan` 注解,可以指定需要扫描的包。
3. 手动加载:可以在启动类中使用 `Class.forName()` 或者 `ClassLoader.loadClass()` 方法手动加载类。
4. Spring ApplicationContext:Spring Boot 启动时会自动加载 ApplicationContext,可以在 ApplicationContext 中注册需要加载的类。
需要注意的是,Spring Boot 启动时会加载很多类,如果需要自定义加载的类,应该优先考虑使用自动配置或者组件扫描的方式。
相关问题
springboot 启动加载指定类
在 Spring Boot 中,可以通过在 application.properties 或 application.yml 文件中设置 spring.autoconfigure.exclude 属性来排除不需要加载的自动配置类,例如:
```
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
```
这将排除 Spring Boot 默认的 DataSource 自动配置类。
另外,还可以通过在启动类上添加 @EnableAutoConfiguration 注解的 exclude 属性来排除自动配置类,例如:
```java
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class MyApplication {
// ...
}
```
这将排除 DataSource 自动配置类。
springboot启动类加载过程
Spring Boot启动类的加载过程如下:
1. 首先加载main方法所在的类,即启动类。
2. 启动类中使用了@SpringBootApplication注解,该注解包含了多个子注解,其中最重要的是@EnableAutoConfiguration注解。
3. @EnableAutoConfiguration注解会自动扫描classpath下的所有jar包,并将符合条件的配置类加载到Spring IoC容器中。
4. 自动配置类会根据当前classpath中的jar包和类库,进行一系列的自动配置和初始化操作,例如配置数据库连接池、启用缓存等。
5. Spring Boot会自动创建一个内嵌的Tomcat容器,并将所有的Spring Bean注册到该容器中。
6. 最后,Spring Boot会启动Tomcat容器,等待接收HTTP请求。
总之,Spring Boot的启动类是整个应用的入口,在启动过程中,它会自动加载所有的配置和依赖,并启动内嵌的Tomcat容器,从而完成整个应用的初始化和启动。