概述
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 如何关闭自动配置的全部内容,希望文章能够帮你解决Springboot 如何关闭自动配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复