Right to the problem: my @Autowired
data and anything I set in my @PostConstruct
method is not retained. I might be misunderstanding the bean lifecycle in this case.
Here is my class:
@Component
public class HeaderInspector implements HandlerInterceptorAdapter {
private static final Logger LOGGER = LoggerFactory.getLogger(HeaderInspector.class);
@Autowired
private ConfigurationService configuration;
@Autowired
private WaffleHeaderService waffleHeader;
private String logPrefix;
@PostConstruct
public void init() {
logPrefix = configuration.getLogPrefix("WaffleHeader");
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// logs: "null Intercept"
LOGGER.trace(logPrefix + " Intercept");
// !!! NullPointException !!!
return waffleHeader.accept(request);
}
}
I marked the two problem areas with comments.