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(); } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
聊聊Kotlin 中 lateinit 和 lazy 的原理区别
使用 Kotlin 进行开发,对于 latelinit 和 lazy 肯定不陌生。但其原理上的区别,可能鲜少了解过,借着本篇文章普及下这方面的知识,感兴趣的朋友一起看看吧2022-07-07Java Hibernate使用SessionFactory创建Session案例详解
这篇文章主要介绍了Java Hibernate使用SessionFactory创建Session案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08Spring实战之使用ClassPathResource加载xml资源示例
这篇文章主要介绍了Spring实战之使用ClassPathResource加载xml资源,结合实例形式分析了Spring使用ClassPathResource加载xml资源的具体实现步骤与相关操作技巧,需要的朋友可以参考下2019-12-12Java 必知必会的 URL 和 URLConnection使用
这篇文章主要介绍了Java 必知必会的 URL 和 URLConnection使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-10-10
最新评论