@Conditional相关注解

@ConditionalOnBean:仅仅在当前上下文中存在某个对象时,才会实例化一个Bean
@ConditionalOnClass:某个class位于类路径上才会实例化一个Bean
@ConditionalOnExpression:当表达式为true的时候,才会实例化一个Bean
@ConditionalOnMissingBean:仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean
@ConditionalOnMissingClass:某个class不位于类路径上才会实例化一个Bean
@ConditionalOnNotWebApplication:不是web应用
补充:

  • src不是classpath,WEB-INF/classes和lib才是classpath,WEB-INF/是资源目录,客户端不能直接访问
  • WEB-INF/classes目录存放src目录Java文件编译后的class文件,xml,properties等资源配置文件,这是一个定位资源的入口。
  • lib和classes同属classpath,两者的访问优先级是:lib > classes
  • classpath和classpath的区别
    classpath:只会到class路径中查找文件
    classpath
    :不仅包含class路径,还包括jar文件中(class路径)进行查找

你可能感兴趣的:(@Conditional相关注解)