gpt4 book ai didi

java - spring boot CommandLineRunner调用所有带run方法的类

转载 作者:行者123 更新时间:2023-11-30 08:43:56 25 4
gpt4 key购买 nike

我有多个使用 CommandLineRunner 来运行应用程序的类。但是当我使用 spring-boot-maven-plugin 启动应用程序时,所有类都被一个接一个地调用。即使我将类作为主要方法运行,也会发生这种情况。我怎样才能克服这个。任何帮助将不胜感激。

在pom中使用下面的代码来识别main方法

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.2.4.RELEASE</version>
<configuration>
<mainClass>com.Foo</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

最佳答案

我曾经解决过类似问题的潜在解决方案。相似,但不完全相同,所以我不能保证成功。

您可以尝试使用 @ConditionalOnExpression在每个实现上,具有不同的值。像这样:@ConditionalOnExpression("'${some.property}'=='myValue'")

application.properties 中添加属性以设置默认实现,并且在运行 jar 时您可以使用 java -jar myApp.jar --some.property=myOtherValue 覆盖该实现

Spring boot 应该选择正确的实现来使用,基于哪个实现匹配你设置的属性的值。

关于java - spring boot CommandLineRunner调用所有带run方法的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com