Spring Boot 学习(7)——条件注解

       看到今天,方才把前面 demo2 中的一些地方想明白。就好比一个数学系的研究生在给初中生讲数据题的时候,不知不觉就会用到超纲的知识,这也是为什么各类大神的教程(视频或文字)按些步骤来总有对不上的地方,因为他们大概率会用到超纲知识,或不小心就按了什么快捷键完成了个什么操作,而作为老白的我们,却浑然不知问题出在哪里了……


       条件注解:如果注解指定的条件成立,则触发指定行为

       @ConditionalOnXxx

       @ConditionalOnClass:如果类路径中存在这个类,则触发指定行为

       @ConditionalOnMissingClass:如果类路径中不存在这个类,则触发指定行为

       @ConditionalOnBean:如果容器中存在这个Bean(组件),则触发指定行为

       @ConditionalOnMissingBean:如果容器中不存在这个Bean(组件),则触发指定行为

       场景:      

  • 如果存在FastsqlException这个类,给容器中放一个Cat组件,名cat01,
  • 否则,就给容器中放一个Dog组件,名dog01

    // 放在方法级别,单独对这个方法进行注解判断。    
    @ConditionalOnClass(name="com.alibaba.druid.FastsqlException")
    @Bean
    public Cat cat01(){
        return new Cat();
    }
    
    // 这句新补的,视频教程里大神有说,但是他没写这句,又把这段反复看了几次,包括关联的上下文知识
    // 发现这句大神是没有写的,在大神的素材里也没看到
    // 尽信神则无神!自勉!
    @ConditionalOnMissingClass(value="com.alibaba.druid.FastsqlException")
    @Bean
    public Dog dog01(){
        return new Dog();
    }
  • 如果系统中有dog01这个组件,就给容器中放一个 User组件,名zhangsan
  • 否则,就放一个User,名叫lisi
    @ConditionalOnBean(value = Dog.class)
    @Bean
    public User zhangsan(){
        return new User();
    }
    @ConditionalOnMissingBean(value = Dog.class)
    @Bean
    public User lisi(){
        return new User();
    }

       @ConditionalOnBean(value=组件类型,name=组件名字):判断容器中是否有这个类型的组件,并且名字是指定的值




       PS:重新更正里面的代码,新补了一行。视频教程里大神有说,但是他没写这句,自己照着写,得出的结果和大神的不一样。于是又把这段视频反复看了几次,又看了包括关联的上下文知识。发现有行代码大神是没有写的,在大神的提供教学素材里也没看到。

       尽信神则无神!

       自勉!

       身坚志残的老白!

相关推荐

  1. Spring Boot 学习7)——条件注解

    2024-04-20 14:14:07       16 阅读
  2. springboot自动配置的条件注解使用

    2024-04-20 14:14:07       32 阅读
  3. Springboot注解知识-文字描述(学习笔记)

    2024-04-20 14:14:07       12 阅读
  4. SpringBoot注解

    2024-04-20 14:14:07       42 阅读
  5. SpringBoot注解

    2024-04-20 14:14:07       18 阅读
  6. ElasticSearch学习笔记-SpringBoot整合Elasticsearch7

    2024-04-20 14:14:07       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-20 14:14:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-20 14:14:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-20 14:14:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-20 14:14:07       18 阅读

热门阅读

  1. Spring Boot 实现定时任务

    2024-04-20 14:14:07       15 阅读
  2. 详细理解React的Fiber结构

    2024-04-20 14:14:07       32 阅读
  3. Spring Boot定义类处理API通用返回数据

    2024-04-20 14:14:07       18 阅读
  4. 在redhat7/8平台上部署ELK7.17.18的技术方案

    2024-04-20 14:14:07       48 阅读
  5. 【Clickhouse】如何在ClickHouse中删除集群表数据

    2024-04-20 14:14:07       42 阅读
  6. [Android]Jetpack Compose设置颜色

    2024-04-20 14:14:07       20 阅读
  7. 微服务中Dubbo通俗易懂讲解及代码实现

    2024-04-20 14:14:07       12 阅读
  8. 介绍TCP窗口

    2024-04-20 14:14:07       12 阅读
  9. 简单了解Vue3

    2024-04-20 14:14:07       12 阅读
  10. 注册中心~

    2024-04-20 14:14:07       14 阅读