温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Springboot 怎样关闭自动配置

发布时间:2021-09-10 11:30:30 来源:亿速云 阅读:345 作者:柒染 栏目:开发技术

今天就跟大家聊聊有关Springboot 怎样关闭自动配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Springboot 关闭自动配置

springboot通过@SpringBootApplication 下的@EnableAutoConfiguration 实现自动配置,节约了开发者大量时间,但是有可能有些不必要的配置。如果想关闭其中的某一项配置,那应该怎么办呢?

使用@SpringBootApplication下的exclude参数即可。

举例说明:

1. 关闭Redis自动配置

@SpringBootApplication(exclude={RedisAutoConfiguration.class  })

2. SpringBoot默认会自动配置数据库

如果业务不需要 也可以可以在 pringBootApplication 注解中操作:

@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
HibernateJpaAutoConfiguration.class})

注:有多项配置时可以用逗号隔开

开启关闭自动任务配置流程

1.需求

可以根据自己配置的开关,动态的控制springboot含有@Scheduled的定时任务

2.解决方案

1.删除启动类的 @EnableScheduling

2.利用condition进行条件判断

public class SchedulerCondition implements Condition {
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        return Boolean.valueOf(context.getEnvironment().getProperty("com.myapp.config.scheduler.enabled")); //就是yml值      
    }
}

3.进行新的定时任务装配到IOC

 @Configuration
 public class Scheduler {
    @Conditional(SchedulerCondition.class)
    @Bean(name = TaskManagementConfigUtils.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME)
    @Role(BeanDefinition.ROLE_INFRASTRUCTURE)
    public ScheduledAnnotationBeanPostProcessor scheduledAnnotationProcessor() {
        return new ScheduledAnnotationBeanPostProcessor();
    }
}

看完上述内容,你们对Springboot 怎样关闭自动配置有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI