在做一个引用型jar包使用案例,这个jar包使用了MQ队列,业务场景是对方引用jar包使用方法,可以使用接口形式传输数据,或者mq队列方式,当使用接口形式时取消加载mq类
所以在mqConfig类上加了注解开关控制加载类
@ConditionalOnProperty(name = "isMq", havingValue = "true")
在配置文件中配置isMq=true时使用,false时不加载mq配置类
当设置false时,在业务方法中如果使用rabbitTemplate 类 就需要注意注入注解使用
@Autowired(required = false), 当不加required = false 时则会报错 默认是true没有找到就出错
原因是你没有加载配置类,所以没有rabbitTemplate 但是这个注解是会去找这个bean找不到会出错,所以设置false表示忽略当前要注入的bean如果有直接注入没有跳过,不会报错