我有一个弹簧启动应用程序,其中包含一个如下定义的过滤器:
@Component
public class MyDevFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
.. filter implementation
}
我希望这个过滤器只在dev环境中注册, 通过弹簧轮廓或jvm参数(无关紧要)。 我怎样才能做到这一点?
答案 0 :(得分:2)
使用@Profile("profile-name")
注释您的bean,只有在该配置文件处于活动状态时才会创建它。
答案 1 :(得分:1)
只需在其上添加@Profile("dev")
注释,其名称对应于您的开发环境(此处假设为“dev”)。
然后,您可以在application.properties
文件中将其激活:
spring.profiles.active=dev
或者您可以在命令行中执行以下操作:
--spring.profiles.active=dev