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

以编程方式配置Spring Boot应用程序

戚成礼
2023-03-14

什么是最简单的方法,以获得Spring引导好,但不试图自动配置所有的东西?例如,要只使用我们已经配置的属性(一些通过Consul+Spring Cloud加载)运行flyway,我希望可以做一些类似的事情:

@Configuration
@Import({DataSourceAutoConfiguration.class, FlywayAutoConfiguration.class})
public class FlywaySetup {}

并且让main方法只调用SpringApplication.run(flywaySetup.class)

这样做的问题是,它会拾取所有的组件扫描/其他依赖项的长列表。任何具体配置依赖项的方法(但仍然获得框架的nicities)

共有1个答案

松高歌
2023-03-14

如果你运行这个应用程序,它根本不应该使用组件扫描。除了@componentscan(在@springbootapplication上提供)之外,在spring boot中没有触发组件扫描的东西。

如果你能提供更精确的细节,而不是“其他依赖项的疯狂的长列表”,这将会有所帮助。运行flywaysetup应该只加载这两个配置类(重要的是:它们不再作为自动配置处理)。如果你有组件扫描,还有其他东西你没有显示出来。

 类似资料:
  • 我正在尝试使用我自己的应用程序实现或扩展的ResourceConfig或PackageResourceConfig来配置我的Jersey应用程序。因此,我的第一次尝试是将现有的web.xml(实际上,由于开发的库性质,我使用的是web-fragment.xml)配置移植到MyApplication实现。 当我使用第二个版本时,我会收到以下信息 正如您所看到的,是第一个注册的类,但由于它不是公共的,

  • 我需要为SpringBoot应用程序设置两个数据源。目前,用于(成功地)处理MariaDB服务器上超时的单个数据源工作解决方案在application.properties中设置了以下三个参数 我使用基于Java的数据源配置检查过的各种示例大致如下:

  • 我在logback.xml中定义了一个logback appender,它是一个DB appender,但是我想知道是否有任何方法可以使用我自己定义为bean的连接池在java中配置appender。 我发现了类似的事情,但从来没有真正的答案。

  • 问题内容: 我在logback.xml中定义了一个logback附加程序,它是一个数据库附加程序,但是我很好奇是否有任何方法可以使用定义为bean的我自己的连接池在java中配置附加程序。 我发现类似的事情,但没有实际答案。 问题答案: 这是一个对我有用的简单示例(请注意,在此示例中我使用FileAppender)

  • 问题内容: 我试图仅通过使用和此参考来配置和设置Log4j2 。我使用的代码如下: 注意 它扩展了默认情况下已经配置的控制台 它尝试向根记录器添加滚动文件追加器 我得到以下异常: 如果我在上面的代码之后注释掉该代码,它可以工作,但似乎缺少配置滚动文件附加程序的内容。我应该怎么做才能解决这个问题? 问题答案: 在 log4j 2.x中, 您必须以这种方式指定日期格式 标记格式的开始 表示它是日期格式

  • Im使用Log4j2 2.6.2。在应用程序的开始,我调用以下代码 输出显示为 即默认布局正在使用中。我对默认值的编程重写不起作用。有谁能帮你修改代码吗?