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, DataSourceTransactionManagerAutoConfiguration.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(); } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
浅谈什么是SpringBoot异常处理自动配置的原理
异常处理自动配置 ErrorMvcAutoConfiguration自动配置类自动配置了处理规则,给容器中注册了多种组件 errorAttributes组件,类型为DefaultErrorAttributes.这个组件定义错误页面中可以包含哪些数据 basicErrorController组件,类型为BasicErrorController.处理默认/error路径的请求,new一个id为error的ModelAndView对象来响应页面 error组件,类型为View.响应的是默认错误页面 b
-
SpringBoot开发实战之自动配置
在介绍SpringBoot的自动配置之前,先了解下注解@Import的使用,SpringBoot的@Enable*开头的注解底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中,而@Import提供了以下4中用法: 直接导入Bean 通过配置类导入Bean 导入ImportSelector实现类,一般用于加载配置文件的类 导入ImportBeanDefinitionRegistrar实现类 下面来分别介绍这几种用法. 直接导入Bean就比较简单了,
-
SpringBoot 自动配置原理及源码解析
初始化一个Springboot项目,在主启动类会有这么一个注解:@SpringBootApplication,自动装配的秘密全在主启动类这个注解里面了 点进去一层会发现有三个子注解组成,分别是 @SpringBootConfiguration.@ComponentScan和@EnableAutoConfiguration 接下来分别解释这三个注解在整个自动装配过程中的作用 1.@SpringBootConfiguration 点进去发现它是@Configure,代表当前是一个配置类,意思就是当前
-
springboot 排除redis的自动配置操作
springboot 排除redis的自动配置 因为要配置一个redis链接,所以将系统自带的配置排除,分别是 RedisAutoConfiguration.class 和 RedisRepositoriesAutoConfiguration.class 两个自动配置类 需要注意的是: RedisRepositoriesAutoConfiguration 对 beanName 叫做 "redisTemplate" 的bean有依赖,需要一并排除 @SpringBootApplicati
-
Springboot-yaml配置和自动配置原理分析
目录 版本仲裁中心 自动配置原理 yaml语法 和@PropertySource注解一起使用 和@ImportResource一起使用 配置文件占位符 profile 配置文件的加载顺序 版本仲裁中心 spring dependencies中帮我们依赖了很多常用的jar包, 导入这些jar包不需要版本号 如: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang
-
SpringBoot是如何实现自动配置的你知道吗
目录 SpringBoot启动类: 步骤如下: 总结 SpringBoot启动类: @SpringBootApplication public class CommunityApplication { public static void main(String[] args) { SpringApplication.run(CommunityApplication.class, args); } } 进入@SpringBootApplication源码中: AutoConfigurationI
-
详解SpringBoot自动配置源码
一.引导加载自动配置类 @SpringBootApplication注解相当于@SpringBootConfiguration.@EnableAutoConfiguration.@ComponentScan这三个注解的整合 @SpringBootConfiguration 这个注解也使用了@Configuration标注,代表当前是一个配置类 @ComponentScan 包扫描,指定扫描哪些注解 @EnableAutoConfiguration 这个注解也是一个合成注解 @AutoConfig
-
Springboot 如何关闭自动配置
目录 Springboot 关闭自动配置 1. 关闭Redis自动配置 2. SpringBoot默认会自动配置数据库 SpringBoot 开启关闭自动任务配置 1.需求 2.解决方案 Springboot 关闭自动配置 springboot通过@SpringBootApplication 下的@EnableAutoConfiguration 实现自动配置,节约了开发者大量时间,但是有可能有些不必要的配置.如果想关闭其中的某一项配置,那应该怎么办呢? 使用@SpringBootApplicat
-
基于SpringBoot核心原理(自动配置、事件驱动、Condition)
前言 SpringBoot是Spring的包装,通过自动配置使得SpringBoot可以做到开箱即用,上手成本非常低,但是学习其实现原理的成本大大增加,需要先了解熟悉Spring原理.如果还不清楚Spring原理的,可以先查看博主之前的文章,本篇主要分析SpringBoot的启动.自动配置.Condition.事件驱动原理. 正文 启动原理 SpringBoot启动非常简单,因其内置了Tomcat,所以只需要通过下面几种方式启动即可: @SpringBootApplication(scanBas
-
SpringBoot原理之自动配置机制详解
目录 前言 Spring配置类 SpringBoot自动配置 自动配置的概念 自动配置的运行机制 加载方式 SpringFactoriesLoader机制 SpringFactoriesLoader如何应用在自动配置中 小结 前言 在当下的java生态里,SpringBoot已经成为事实上的开发标准,绝大多数人现在都是面向SpringBoot编程.SpringBoot是对Spring的进一步封装,整合了分布式系统上下游所需的各种类库和组件,并且实现了开箱即用,而这一切的底层基础就是SpringB
-
Java深入浅出掌握SpringBoot之MVC自动配置原理篇
Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序. 官方文档描述: 自动配置在 Spring 的默认值之上添加了以下功能: 从官方描述解析: If you want to keep Spring Boot MVC features and you want to add additionalMVC configuration (interceptors, formatters, view controllers, and other features), y
-
SpringBoot快速通关自动配置应用
@EnableAutoConfiguration @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import(AutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration { String ENABLED_OVERRIDE
-
Springboot @Configuration与自动配置详解
不知道大家第一次搭SpringBoot环境的时候,有没有觉得非常简单.无须各种的配置文件,无须各种繁杂的pom坐标,一个main方法,就能run起来了.与其他框架整合也贼方便,使用EnableXXXXX注解就可以搞起来了! 所以今天来讲讲SpringBoot是如何实现自动配置的~ @SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot需要运行这个类的main方法来启动SpringBoot应用: 先看
-
全面解析SpringBoot自动配置的实现原理
之前一直在用SpringBoot框架,一直感觉SpringBoot框架自动配置的功能很强大,但是并没有明白它是怎么实现自动配置的,现在有空研究了一下,大概明白了SpringBoot框架是怎么实现自动配置的功能,我们编写一个最简单的自动配置功能,大概的总结一下. 一,配置属性类 其实就是值对象注入的方式去配置一些Spring常用的配置,我们编写一个最简单的配置对象. @ConfigurationProperties(prefix = "hello") //@Component //如果这
-
全网最深分析SpringBoot MVC自动配置失效的原因
前言 本来没有计划这一篇文章的,只是在看完SpringBoot核心原理后,突然想到之前开发中遇到的MVC自动失效的问题,虽然网上有很多文章以及官方文档都说明了原因,但还是想亲自看一看,本以为很简单的事情,没想到却引发出一个较复杂的问题,请教了很多人都没有得到结果,网上文章也没有写清楚的,最后还是自己搞了很久才弄明白的,此篇主要记录自己的一个分析过程. 正文 引出问题 上面是SpringBoot MVC的自动配置,问题是这样的,当我们需要自己配置MVC时,有三种选择: 实现WebMvcConfig
-
SpringBoot如何实现Tomcat自动配置
目录 准备工作 我们知道SpringBoot的自动装配的秘密在 org.springframework.boot.autoconfigure 包下的 spring.factories 文件中,而嵌入Tomcat的原理就在这个文件中加载的一个配置类: org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration @Configuration @AutoConfigureOrde
随机推荐
- AngularJS1.X学习笔记2-数据绑定详解
- 权限控制之粗粒度与细粒度概念及实现简单介绍
- AngularJS入门示例之Hello World详解
- java 中HashMap实现原理深入理解
- Objective-C中NSNumber与NSDictionary的用法简介
- popdiv
- 深入HTTP响应状态码速查表的详解
- python中matplotlib实现最小二乘法拟合的过程详解
- asp 简单分页代码
- C++中BitBlt的使用方法详解
- javaweb中Http协议详解
- JavaScript与Java正则表达式写法的区别介绍
- Js 订制自己的AlertBox(信息提示框)
- 基于jQuery倾斜打开侧边栏菜单特效代码
- JavaScipt对象的基本知识第1/2页
- 菜鸟必读之网络故障两例
- python查看zip包中文件及大小的方法
- 第4章 数据处理-php字符串的处理-郑阿奇(续)
- Vue中的methods、watch、computed的区别
- 利用Blob进行文件上传的完整步骤