我需要从java类调用Spring Service,如何从java类设置spring应用程序的活动配置文件

时间:2017-04-13 01:11:52

标签: java spring spring-mvc

*我需要从我的java类调用spring服务,如何为spring服务动态设置活动配置文件。 这是代码

<<

我有各种配置文件,如dev,qa和prod 在调用spring服务时,我将如何从我的java类传递活动配置文件。*

1 个答案:

答案 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中应该使用配置文件的方式。我之前提供的示例被认为是最佳实践。