我正在使用 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?