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

从命令行重写YML配置文件的Spring Boot

朱兴安
2023-03-14

我不想使用命令行覆盖现有的YML文件配置文件,所以我这样做了。

    null
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class SuchApplication implements CommandLineRunner {

    @Autowired
    private DogeService dogeService;

    @Override
    public void run(String... args) {
        System.out.println("AutoConfiguration should have wired up our stuff");
        System.out.println("Let's see if we are doge-worthy...");
        if (dogeService.requiresDogeness()) {
            System.out.println(dogeService.leDoge());
        } else {
            System.out.println("No Doge for us :(");
        }
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SuchApplication.class, args);
    }
}
spring:
  profiles.active: default
---
spring:
  profiles: default

doge:
  wow: 10
  such: so
  very: true

---
spring:
   profiles: unit-test
doge:
  wow: 4
  such: so
  very: true

共有1个答案

颛孙智勇
2023-03-14

我在Spring Boot上也遇到了类似的问题,并在配置类中用这个注释解决了这个问题...

@PropertySource("classpath:application.yml")

但是从正式的Spring文档来看,这个注释看起来是不必要的,这就是为什么我没有在第一次尝试中添加。

 类似资料:
  • 下面是我的application.yml文件:

  • 问题内容: 我的Maven设置文件 〜/ .m2 / settings.xml中* 默认激活了 一个配置文件。 * 是否可以通过执行以下操作从命令行停用它: 问题答案: 是的,的确,您有正确的方法。从Maven配置文件用户指南 停用个人资料 从Maven 2.0.10开始,可以使用命令行停用一个或多个配置文件,方法是在其标识符前面加上字符’!’。或“-”,如下所示: 这可用于停用标记为active

  • 我是新来的。我想知道他们的任何其他方法来设置连接端口,管理端口,记录器级别和所有配置参数,而不是通过使用。YML 文件。

  • 问题内容: 我有一个Spring Boot应用程序。 我的应用程序中有三个配置文件-> 开发,暂存和生产。所以我有3个档案 应用程序开发 application-staging.yml application-production.yml 我的application.yml驻留在内部。我在application.yml中将活动配置文件设置为: 其他3个配置文件特定的配置文件位于文件夹中。 我正在使

  • 我有spring boot的申请。 我的应用程序中有三个概要文件->开发、分期和生产。所以我有3个文件 应用程序-development.yml application-staging.yml 应用程序-production.yml 我的application.yml驻留在中。我已将application.yml中的活动配置文件设置为: 其他3个配置文件特定的配置文件位于文件夹中。 我正在为Ecl

  • 我正在尝试从命令行配置JaCoCo maven插件,而不是使用。到目前为止,我已经设法使用命令执行: 输出: 这将创建 文件,现在我正在尝试运行阶段,但我无法为此阶段设置属性。我正在运行命令: 或 与jacoco:report中一样,没有与jacoco:prepare代理中相同。 我有这样的输出: 使用默认值。