基于Spring Boot 排除自动配置的4个方法
Spring Boot 排除自动配置
方法1
使用 @SpringBootApplication 注解,用 exclude 属性进行排除指定的类:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class Application { // ... }
方法2
单独使用 @EnableAutoConfiguration 注解的时候:
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) public class Application { // ... }
方法3
使用 @SpringCloudApplication 注解的时候:
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) @SpringCloudApplication public class Application { // ... }
方法4
终极方案,不管是 Spring Boot 还是 Spring Cloud 都可以搞定,在配置文件中指定参数 spring.autoconfigure.exclude 进行排除:
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
或者还可以这样写:
spring.autoconfigure.exclude[0]=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
yml 配置文件:
spring: autoconfigure: exclude: - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Springboot项目去除自动配置
举例说明
新建了一个springboot工程,运行程序时报错:Reason: Failed to determine a suitable driver class
问题原因: 新工程中未进行数据源信息配置。如果去掉springboot工程相关自动配置,该问题就不会出现了
解决办法:
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class }) public class UmeApiPlusApplication { public static void main(String[] args) { SpringApplication.run(UmeApiPlusApplication.class, args); } }
总结
使用@SpringBootApplication(exclude = {})可去除springboot工程的自动配置。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
springBoot2.X配置全局捕获异常的操作
springBoot2.X配置全局捕获异常 先来看一段代码:当传入的id是0的时候,就会报异常. @RestController public class HelloController { @GetMapping("/getUser") public String getUser(int id) { int j = 1 / id; return "SUCCESS" + j; } } 访问时: 我们知道这个页面要是给用户看到,用户可能不知道这是什么. 方法一:将异常
-
使用Springboot整合Apollo配置中心
Apollo简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 官方网站 https://github.com/ctripcorp/apollo Apollo 环境搭建 详细步骤参见: https://github.com/ctripcorp/apollo/wiki/Quick-Start 官网已经很详细的说明了操作步骤.但是有很多前置条件才能完
-
SpringBoot集成Mybatis+xml格式的sql配置文件操作
SpringBoot集成Mybatis+xml格式的sql配置文件 最近一直在研究SpringBoot技术,由于项目需要,必须使用Mybatis持久化数据.所以就用SpringBoot集成Mybatis. 由于项目使用的是xml配置文件格式的SQL管理,所以SpringBoot必须配置Mybatis文件.但这样做的话又与SpringBoot的零xml配置冲突. 所以索性使用java类来配置Mybatis. 下面是Mybatis的配置类: import java.util.Properties;
-
springboot 如何配置多个jndi数据源
springboot 配置多个jndi数据源 1.在application.properties中,添加jndi配置 如下图 2.新建dataSourceConfig类 3.dataSourceConfig类详细代码 这里只贴出其中一个,多个数据源类似配置,只需更改 basePackages 路径和 @Value("${spring.datasource.source1.jndi-name}"),以及下面名称带test1前缀的地方,不要和其他dataSourceConfig重名 @Co
-
springboot配置Jackson返回统一默认值的实现示例
在项目开发中,我们返回的数据或者对象没有的时候一般直接返回的null 有数据时的返回值 { "flag": true, "code": "10000", "msg": "成功!", "data": { "id": 32, "templateType": 1, "templateName": "我的测试模板1"
-
SpringBoot配置Redis自定义过期时间操作
SpringBoot配置Redis自定义过期时间 Redis配置依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.4.4.RELEASE</version> </dependency> <dependency>
-
springboot配置多数据源并集成Druid和mybatis的操作
可以是mysql,oracle等多种不同数据源 项目结构 注意:只有@Primary的数据源所控制的mapper文件加注解@Mapper,否则mybatis无法切换扫描:即本文中的mapper/opener文件夹下mapper加注解 1.pom 驱动之外加入druid和mybatis等pom,整合mybatis自行搜索 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-b
-
关于springboot 配置date字段返回时间戳的问题
遇到一个问题,springboot升级成2.0后,从数据库查出来的日期,用Date接收,最后直接返回给前端,在谷歌浏览器中能正常显示成yyyy-MM-dd HH:mm:ss格式.但是在IE浏览器中日期显示的是"乱码",因为springboot1.x版本的默认将Date字段返回的是时间戳 ,而谷歌.IE都会自动将时间戳转换成yyyy-MM-dd HH:mm:ss:在springboot2.0后,spring会将Date字段自动给转成UTC字符串了(在没有配置的情况下),所以date需要转
-
基于Spring Boot 排除自动配置的4个方法
Spring Boot 排除自动配置 方法1 使用 @SpringBootApplication 注解,用 exclude 属性进行排除指定的类: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class Application { // ... } 方法2 单独使用 @EnableAutoConfiguration 注解的时候: @EnableAutoConfiguration(excl
-
Spring boot中@Conditional和spring boot的自动配置实例详解
我们知道,spring boot自动配置功能可以根据不同情况来决定spring配置应该用哪个,不应该用哪个,举个例子: Spring的JdbcTemplate是不是在Classpath里面?如果是,并且DataSource也存在,就自动配置一个JdbcTemplate的Bean Thymeleaf是不是在Classpath里面?如果是,则自动配置Thymeleaf的模板解析器.视图解析器.模板引擎 那个这个是怎么实现的呢?原因就在于它利用了Spring的条件化配置,条件化配置允许配置存在于应用中
-
初识Spring Boot框架之Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单的Spring Boot 自动配置的案例,看看这一切到底是怎么发生的. 假设我的需求是这样的:当我的项目中存在某个类的时候,系统自动为我配置该类的Bean,同时,我这个Bean的属性还可以在application.properties中进行配置,OK,就这样一个需求,我们来看看怎么实现. 1.新建s
-
Spring Boot中自动执行sql脚本的方法实例
目录 背景 实现核心 实现方法 注意 总结 说明:所有的代码基于SpringBoot 2.0.3版本 背景 在应用程序启动后,可以自动执行建库.建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工程中的路径为:classpath:people.sql,脚本的具体内容如下: CREATE TABLE IF NOT EXISTS people( persion_id BIGINT NOT NULL AUTO_INCREMENT, first_name
-
基于spring boot排除扫描类的三种方式小结
最近在做单测的时候,由于自己配置的spring boot容器会默认扫描很多不想被加载,网上中文的文章并不多,所以来总结一下. 默认下面描述的类都在一个包下面 第一步我们新建一个应用启动的类,一个类用来充当Configuration,为了能明显的感知到其到底有没生效,我编写如下: @SpringBootApplication public class Test { public static void main(String[] args) { new SpringApplication(Test
-
Spring Boot 排除某个类加载注入IOC的操作
Spring Boot 排除某个类加载注入IOC 我们项目往往会引入其他项目的依赖,造成功能冲突的类,我们想把这些类排除掉,不注入到我们项目IoC容器中, 只加载自己的类 @ComponentScan(basePackages = "com.xxx",excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes = { xxxPublisher.class, xxxAdvice.cl
-
Spring Boot项目中定制拦截器的方法详解
这篇文章主要介绍了Spring Boot项目中定制拦截器的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供HandlerInterceptor(拦截器)工具.根据文档,HandlerInterceptor的功能跟过滤器类似,但拦截器提供更精细的控制能力:在request被响应之前.request被响应之后.视
-
详解基于Spring Boot与Spring Data JPA的多数据源配置
由于项目需要,最近研究了一下基于spring Boot与Spring Data JPA的多数据源配置问题.以下是传统的单数据源配置代码.这里使用的是Spring的Annotation在代码内部直接配置的方式,没有使用任何XML文件. @Configuration @EnableJpaRepositories(basePackages = "org.lyndon.repository") @EnableTransactionManagement @PropertySource("
-
基于spring boot 的配置参考大全(推荐)
如下所示: # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # =============================
-
基于Spring Boot不同的环境使用不同的配置方法
spring 多文件配置: 1.properties文件 2.YAML文件 一.properties文件 在 Spring Boot 中, 多环境配置的文件名需要满足 application-{profile}. properties的格式, 其中{profile}对应你的环境标识, 如下所示. • application-dev.properties: 开发环境. • application-test.properties: 测试环境. • application-prod.propertie
随机推荐
- perl 指定长度并生成一个随机的DNA序列的脚本代码
- 跟着Jquery API学Jquery之一 选择器
- 让你一句话理解闭包(简单易懂)
- document.open() 与 document.write()的区别
- 非对称网络不通 子网掩码导致网络不通是“祸首”
- iOS瀑布流的简单实现(Swift)
- Ajax与服务器(JSON)通信实例代码
- JS小功能(offsetLeft实现图片滚动效果)实例代码
- C#实现3D效果完整实例
- PHP中遇到的时区问题解决方法
- js tab 选项卡
- SQL语句实现查询当前数据库IO等待状况
- Javascript自定义事件详解
- 一个简单的jQuery插件制作 学习过程及实例
- JavaScript的类型转换(字符转数字 数字转字符)
- PHP获取当前文件的父目录方法汇总
- Android 使用jarsigner给apk签名的方法详细介绍
- ASP小偷(远程数据获取)程序入门教程
- IntelliJ IDEA 创建Maven项目速度慢的2种解决方法
- python实现基于SVM手写数字识别功能