当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Cloud自动配置类中未加载自定义Bean

洪承天
2023-03-14

我想提供一个特定的Bean,以便这个Bean覆盖Spring Cloud AutoConfiguration类中的Bean。

@Configuration
public class MyLocalConfig {
  @Bean
  public ApiClient apiClient() throws IOException {
    return ClientBuilder.standard(false).build();
  }
}

我还尝试使用自动配置。但是甚至@AutoConfigureBefore注释也被忽略。

@Configuration
@AutoConfigureBefore(KubernetesClientAutoConfiguration.class)
public class LocalKubeAutoConfiguration {
  @Bean
  public ApiClient apiClient() throws IOException {
    return ClientBuilder.standard(false).build();
  }
}

我的配置类bean总是在KubernetesClientAutoConfiguration类中的bean之后实例化。因此,AutoConfiguration类不使用我的bean。

文档说:在任何时候,您都可以开始定义自己的配置,以替换自动配置的特定部分。

    null
@SpringBootApplication
public class SpringBootAdminApp {
  public static void main(String[] args) {
    SpringApplication.run(SpringBootAdminApp.class, args);
  }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>testme</artifactId>
    <version>1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-kubernetes-client-all</artifactId>
            <version>2.0.2</version>
        </dependency>
    </dependencies>
</project>

共有1个答案

呼延子安
2023-03-14

在主类中添加@SpringBootApplication(scanBasePackages=...)所以定制的包将被扫描,这个注释只告诉spring在哪里搜索。

https://www.baeldung.com/spring-component-scanning

 类似资料:
  • 问题内容: 我有一个Java类,它在启动时基于javassist类加载器创建自定义类加载器,然后运行实际的程序类。我收到以下错误: 该问题与以下事实有关:一个对象是由原始类加载器创建的,而另一个是由自定义类创建的。 有没有办法解决此错误? 在此先感谢 Avner 问题答案: 请尝试将-Dlog4j.ignoreTCL =true设置为希望有帮助。关于log4j的类似问题

  • 我正在AnyLogic中构建一个DES队列模型。我之前已经构建了几个模型,在这些模型中,我使用定义自己的代理类型来存储代理参数,例如,这些参数改变了它们在队列网络中的流动方式。在过去,这并没有引起错误。但是,在构建了一个新的、非常简单的M/M/1队列模型(源、服务和接收器)并定义了一个新的代理类型“myAgent”之后,即使我没有保存或访问任何代理属性,我也会遇到错误: 看来,或许是新定义的代理不

  • MOSN 自定义配置说明。 本文是对 MOSN 自定义配置的说明。 Duration String 字符串,由一个十进制数字和一个时间单位后缀组成,有效的时间单位为 ns、us(或?s)、ms、s、m、h,例如 1h、3s、500ms。 metadata metadata 用于 MOSN 路由和 Cluster Host 之间的匹配。 { "filter_metadata":{ "mo

  • 如果你想自定义 Next.js 的高级配置,可以在根目录下新建next.config.js文件(与pages/ 和 package.json一起) 注意:next.config.js是一个 Node.js 模块,不是一个 JSON 文件,可以用于 Next 启动服务已经构建阶段,但是不作用于浏览器端。 // next.config.js module.exports = { /* config

  • 与以下属性相关联,但它并没有更好地工作 我该怎么办?

  • 本机Spring Boot自动配置(例如one)也可以检测主类中声明的bean(例如注释的方法)。 如何对主类中声明的bean进行正确的bean检测? 编辑