package com.ym.interceptor; import com.ym.mec.biz.service.TenantInfoService; import com.ym.mec.common.tenant.TenantContextHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Component public class TenantInterceptor extends HandlerInterceptorAdapter { @Autowired @Lazy private TenantInfoService tenantInfoService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){ tenantInfoService.saveTenantContextHolder(request); return true; } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { TenantContextHolder.clearTenantId(); } }