Springboot 如何关闭自动配置

网友投稿 355 2022-12-10

Springboot 如何关闭自动配置

目录Springboot 关闭自动配置1. 关闭Redis自动配置2. SpringBoot默认会自动配置数据库SpringBoot 开启关闭自动任务配置1.需求2.解决方案

Springboot 关闭自动配置

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

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

举例说明:

1. 关闭Redis自动配置

@SpringBootApplication(exclude={RedisAutoConfiguration.class })

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

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

@SpringBootApplication(exclude = {

DataSourceAutoConfiguration.class,

DataSourceTransactBIGndEfdionManagerAutoConfiguration.class,

HibernateJpaAutoConfiguration.class})

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

SpringBoot 开启关闭自动任务配置

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();

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springBoot 项目排除数据库启动方式
下一篇:一篇文章带你了解java Object根类中关于toString,equals的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~