我们有一个Jersey-Spring项目。我们想有条件地使用@Provider注释。即我们只想在某些环境中使用它。通过环境,我的意思是开发,分期,生活等。
我们在使用spring bean配置文件的项目中使用了特定于环境的配置。无论如何,我们可以确保仅在环境是特定环境时应用@Provider? (请注意,在java代码中,我们知道环境是什么。)
如果无法实现上述目标,那么无论如何我们都可以避免使用@provider注释并使用某种可以完成工作的代码,以便我们可以根据环境有选择地应用它。
@Provider
@Profile("docs")
@Produces(MediaType.APPLICATION_JSON)
public class JacksonJsonProvider extends JacksonJaxbJsonProvider {
基本上我们使用@Provider来应用JacksonJsonProvider但我们只想在某些环境中应用此提供程序。
请告诉我们最佳解决方案。 感谢您。 -ND。
答案 0 :(得分:0)
最佳解决方案是将其放在单独的包中,并且只在所需的配置文件中包含该包。
查看PackagesResourceConfig,特别是PROPERTY_PACKAGES。