Ну, у меня есть ответ. Это не тот случай, которым я особенно доволен, поэтому я не приму его, но если кто-то с такой же проблемой сталкивается с этим вопросом, я хочу, по крайней мере, воспользоваться им своим опытом.
По какой-то причине автоматический вызов ServletContextAware просто не работает при таких обстоятельствах. Это работает практически для всех остальных компонентов. Я создал класс Kludge, который выглядит примерно так:
// This class's only purpose is to act as a kludge to in some way get
// around the fact that ServletContextAware doesn't seem to work on MyApp.
// none of the *other* spring boot ways of getting the servlet context into a
// file seem to work either.
@Component
public class ServletContextSetter implements ServletContextAware {
private MyApp app;
public ServletContextSetter(MyApp app) {
this.app = app;
}
@Override
public void setServletContext(ServletContext servletContext) {
app.setServletContext(servletContext);
}
}
делает работу. Мне это не нравится, и я буду восстанавливать вещи позже, чтобы сделать это ненужным, чтобы я мог вынуть его, но это работает. Я собираюсь держать галочку, однако, в случае, если кто-нибудь может сказать мне, как заставить его работать полностью внутри файла, украшенного @Configuration, или почему он там не работает.
Обратите внимание, что здесь важен декоратор @Component. Без этого не получится.