Застрял со странной проблемой. Я добавляю ServletContext в свой класс (определенный как @Service), и он всегда возвращает null. Пробовал оба @Autowired и без него.Spring ServletContext возвращает null
Также я не получил никаких ошибок при запуске приложения. только нулевое значение, когда я называю 'servletContext.getRealPath ("/ WEB-INF /")'
Это класс, где я пытаюсь использовать:
@Service
public class MyFactory implements ServletContextAware {
@Autowired
ServletContext servletContext;
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
private someMethod(){
servletContext.getRealPath("/WEB-INF/"); //this return null
}
}
PS servletContext
сама по себе null, а не метод .getRealPath("/WEB-INF/")
Вы, конечно, даете Spring создать экземпляр класса для вас, не называя 'new MyFactory()' самостоятельно, не так ли? И 'someMethod()' вызывается * после того, как * autowiring завершает тоже, правильно? – Andreas
да, обе правый. – user1935987