有条件地公开 Spring 网络服务操作
Conditionally expose Spring web service operation
我们在我们的应用程序中使用 Spring 网络服务,并且需要进行一项新操作,用于内部测试,仅在我们的开发和测试环境中可用。我知道如何在 Axis 中处理这样的要求(我们有一个这样的模块,我们只需在 wsdd 的 "allowedMethods" 参数中添加或删除操作)但我不知道如何在 Spring,并且在网上搜索时运气不佳。我们有什么选择?
Spring 个人资料将帮助您:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
@Configuration
@Profile("dev")
public class ProductionConfiguration {
// ...
}
您可以在 Bean 上使用配置文件:
@Component
@Profile("dev")
public class DevDatasourceConfig
或在 XML:
<beans profile="dev">
<bean id="devDatasourceConfig"
class="org.baeldung.profiles.DevDatasourceConfig" />
</beans>
您还可以指定 WebApplicationInitializer 使用的配置文件:
@Configuration
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("spring.profiles.active", "dev");
}
}
或
@Autowired
private ConfigurableEnvironment env;
...
env.setActiveProfiles("dev");
或web.xml:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
或JVM参数:
-Dspring.profiles.active=dev
或环境变量:
export spring_profiles_active=dev
我们在我们的应用程序中使用 Spring 网络服务,并且需要进行一项新操作,用于内部测试,仅在我们的开发和测试环境中可用。我知道如何在 Axis 中处理这样的要求(我们有一个这样的模块,我们只需在 wsdd 的 "allowedMethods" 参数中添加或删除操作)但我不知道如何在 Spring,并且在网上搜索时运气不佳。我们有什么选择?
Spring 个人资料将帮助您:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
@Configuration
@Profile("dev")
public class ProductionConfiguration {
// ...
}
您可以在 Bean 上使用配置文件:
@Component
@Profile("dev")
public class DevDatasourceConfig
或在 XML:
<beans profile="dev">
<bean id="devDatasourceConfig"
class="org.baeldung.profiles.DevDatasourceConfig" />
</beans>
您还可以指定 WebApplicationInitializer 使用的配置文件:
@Configuration
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("spring.profiles.active", "dev");
}
}
或
@Autowired
private ConfigurableEnvironment env;
...
env.setActiveProfiles("dev");
或web.xml:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
或JVM参数:
-Dspring.profiles.active=dev
或环境变量:
export spring_profiles_active=dev