*我需要从我的java类调用spring服务,如何为spring服务动态设置活动配置文件。 这是代码
<<
我有各种配置文件,如dev,qa和prod 在调用spring服务时,我将如何从我的java类传递活动配置文件。*
答案 0 :(得分:0)
您无需将任何配置文件传递给您的服务。只需为不同的配置文件创建配置。这些配置将为给定的配置文件提供正确的服务实例。这里有一个这样的配置类的例子:
@Configuration
@Profile(value = "test")
public class ServiceTestConfig
{
@Bean
public Service service()
{
return new TestService();
}
}
使用其他@Profile
注释创建另一个配置,Spring将自动创建适当的实例。您可以通过多种方式设置有效个人资料,最简单的方法是更改spring.profiles.active
中的application.properties
属性。请参阅Spring文档以了解有关配置文件的更多信息:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
<强>更新强>
如果确实需要在运行时将活动配置文件传递给您的服务,则可以注入Environment
实例并调用getActiveProfiles()
。请参阅javadoc:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/env/Environment.html。请记住,这不是Spring中应该使用配置文件的方式。我之前提供的示例被认为是最佳实践。