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

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

 

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

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

 

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

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

 

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

 

 

 

 


posted @ 2018-07-31 17:19  funny_coding  阅读(3540)  评论(0编辑  收藏  举报
build beautiful things, share happiness