Spring只在dev environemnt中过滤

时间:2016-04-18 12:54:59

标签: java spring filter

我有一个弹簧启动应用程序,其中包含一个如下定义的过滤器:

@Component
public class MyDevFilter extends GenericFilterBean {

@Override
public void doFilter(ServletRequest req, ServletResponse resp,
                     FilterChain chain) throws IOException,  ServletException {
.. filter implementation
}

我希望这个过滤器只在dev环境中注册, 通过弹簧轮廓或jvm参数(无关紧要)。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

使用@Profile("profile-name")注释您的bean,只有在该配置文件处于活动状态时才会创建它。

答案 1 :(得分:1)

只需在其上添加@Profile("dev")注释,其名称对应于您的开发环境(此处假设为“dev”)。

然后,您可以在application.properties文件中将其激活:

spring.profiles.active=dev

或者您可以在命令行中执行以下操作:

--spring.profiles.active=dev