Spring Boot 请求范围 Bean

时间:2021-03-31 10:37:50

标签: java spring-boot requestscope

我正在使用 spring boot 来创建微服务。我需要实现请求范围 bean,因为我在标头中获取了一些信息,并且需要在该特定请求的所有类中都可以使用这些信息。下面是我所做的,但我得到了空指针错误。

@Component
@RequestScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public Class RequestHeaderInfo {
   private String appInfo;
   ...
}

@Component
public class RequestFilter implements Filter {
    @Autowired
    private RequestHeaderInfo requestHeaderInfo;
  
    public void doFilter(ServletRequest req,....) {
        HTTPServletRequest request = (HTTPServletRequest) req;
        requestHeaderInfo.setAppInfo(request.getHeader("appInfo"))   //throws null pointer error here
        ....
    }
}  

@Contoller
public class RestController {

    @Autowired
    private RequestHeaderInfo requestHeaderInfo;
}

我希望这个请求头信息对象在整个特定请求中都可用。在我的过滤器类中,它抛出空指针错误。我是否在正确的轨道上实现请求范围的 bean?

0 个答案:

没有答案