spring boot中ConditionalOnClass为什么没有classNotFound类加载异常

Posted funny_coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot中ConditionalOnClass为什么没有classNotFound类加载异常相关的知识,希望对你有一定的参考价值。

查看原码时有很多飘红的地方, 这些import都失败的地方, 为什么在运行时没有报错?

 

首先这些@Configuration类没有被程序中的类引用到

其次即使引用到这个类,不一定引用到类中的具体某个方法。 查看一下spring类加载器的原码??

 

虽然这些地方import失败了, 但是不影响.class类加载,

也就是说编译这些@Configuration类时依赖的jar是必须存在的,但是运行时这些jar可以不提供

 

类加载的时机:创建该类的实例对象,或者引用了静态方法

 

 

 

 


以上是关于spring boot中ConditionalOnClass为什么没有classNotFound类加载异常的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot实战12:Spring Boot中使用JavaMailSender发送邮件

spring boot:Spring Boot中Redis的使用

如何在 spring-boot 中禁用 spring-data-mongodb 自动配置

spring boot学习02如何在spring boot项目中访问jsp

Spring Boot . 4 -- 定制 Spring Boot 配置

Spring boot- Spring Boot特性2