跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • spring boot 的 @ConditionalOnClass 怎么做到以 Class 为参数的?
未分類
26 6 月 2020

spring boot 的 @ConditionalOnClass 怎么做到以 Class 为参数的?

spring boot 的 @ConditionalOnClass 怎么做到以 Class 为参数的?

資深大佬 : Newyorkcity 3

用类 Abc 表示一个不存在的类,当代码中出现 Abc.class 时肯定会报错,首先 IDE 并没有找到这样一个类从而无法在文件顶部写好 import ….Abc ,进而编译器不知道你写了个什么东西,最终报错。

也就是说如果类 Abc 不存在(自己的项目里没有创建这样一个类,项目的依赖中也没有这样一个类,最终导致文件顶部没有 import 这样一个类),@ConditionalOnClass(Abc.class) 根本就通不过编译不对么?

然后 spring boot 自动配置中 @ConditionalOnClass 使用时的意思是:当作为这个注解的参数的类存在时,才启用配置类。可是如果这个类不存在,不应该出现我上面说的问题:编译通不过,项目完全跑不起来。。。

谢谢

大佬有話說 (3)

  • 資深大佬 : raptium

    编译时的 classpath 和运行时的 classpath 可以不一样的

  • 主 資深大佬 : Newyorkcity

    @raptium maven 的 dependency 中 scope=import ?于是在编译时有在运行时没有?

  • 資深大佬 : zankard

    spring boot 用 asm 来解析 @ConditionalOnClass 的 metadata,文档上就已经说明了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具