Spring boot 根据弹簧轮廓属性设置字段

Spring boot 根据弹簧轮廓属性设置字段,spring-boot,Spring Boot,我使用的是Spring boot,我想根据我使用的配置文件更改一些内容,如计划时间、IP、文件名等。。我有prod和dev配置文件。我需要配置文件中的几个属性,我可以在我的一些类中的给定字段上使用这些属性,并根据属性和我正在使用的配置文件设置字段。我从未在项目中看到过这样的事情,但我认为这应该是可能的。我在网上没有找到这样的东西。如果我的想法是不可能的,那么你能为我的案例提供一个解决方案吗? 谢谢你当然可以。在生产中使用的几乎所有应用程序中都实现了配置文件。基本上,您的应用程序-{profile

我使用的是Spring boot,我想根据我使用的配置文件更改一些内容,如计划时间、IP、文件名等。。我有prod和dev配置文件。我需要配置文件中的几个属性,我可以在我的一些类中的给定字段上使用这些属性,并根据属性和我正在使用的配置文件设置字段。我从未在项目中看到过这样的事情,但我认为这应该是可能的。我在网上没有找到这样的东西。如果我的想法是不可能的,那么你能为我的案例提供一个解决方案吗?
谢谢你当然可以。在生产中使用的几乎所有应用程序中都实现了配置文件。基本上,您的应用程序-{profile}.properties文件的数量与您希望在其中运行应用程序的概要文件或环境的数量相同。在您的案例中,prod、dev。因此,您可以使用这两个文件各自的环境属性来填充这两个文件。如何加载正确的文件?传递jvm变量,该变量将定义应用程序运行的环境。此属性存在于spring引导中,它是spring.profiles.active。用法的一个例子是:

-Dspring.profiles.active=prod
这会将活动配置文件设置为prod。加载配置文件后,可以从属性文件的名称中替换{profile}部分,以获取application-prod.properties

然后,要将文件中的属性值注入java字段,可以使用@value注释,如下所示:

@Value("${start_time}")
private String start_time; 

你可以找到更多的细节,还有。

我知道这一点,但这不是我的观点。我想在我的开发配置文件中为属性设置权限,例如start_time=2018-06-18,在我的prod-prifile中为start_time=2019-01-01,然后在我的一些类中使用start_time的值,并用当前加载的配置文件中的start_time替换例如public static String time变量。因此,您想混合来自dev和prod的值?或者只想在java属性中插入文件中的属性值?我想将当前配置文件中的属性插入到给定的给定域class@dimilalabar检查带有@Value注释的更新。