zoukankan      html  css  js  c++  java
  • SpringBoot底层注解-@Import导入组件和@Conditional条件装配

    1.@Import导入组件

    @Import这个注解要写在容器中组件的类上,将指定的类型的组件导入进来

    @Import({User.class, DBHelper.class})给容器中自动创建出这两个类型的组件,默认组件的名字就是全类名,如:com.company.boot.bean.User

    在MainApplication.java

    在MyConfig中导入组件

     

     看看打印结果:


    为什么会有两个呢?
    user01是通过@Bean导入进去的

    2.@Conditional条件装配

    条件装配:满足Conditional指定的条件,则进行组件注入

    @Conditional还是一个根注解,下面派生了非常多的注解

    表示当容器中有tom这个组件的时候,再给容器注册user01组件

    我们现在来测试一下:

    不给user01上添加加@ConditionalOnBean,同时不给容器中注册tom组件

     在MainApplication.java中

    打印结果:

     现在加上条件装配注解@ConditionalOnBean(name="tom"),表示有tom组件的时候,才加载user01组件

     打印结果:

     当然也可以把@ConditionalOnBean(name="tom")放在整个类上,即这个条件成立以后,表示这个类下面的所有配置只有在有tom组件的时候,才能生效

  • 相关阅读:
    DotnetCore 单文件发布
    Parallel.ForEach 之 MaxDegreeOfParallelism
    Quartznet速记
    C# SendAysnc 超时
    微耕门禁跨网段搜索代理
    服务守护DOS脚本
    Flutter速记
    ShowDoc速记
    Docker运行dotnetcore
    Redis速记
  • 原文地址:https://www.cnblogs.com/GumpYan/p/14349806.html
Copyright © 2011-2022 走看看