Я использую Spring Framework (2.5.4) в своем приложении с переплетением времени загрузки, и все отлично работает везде (в компонентах Spring, в объектах, отличных от Spring), кроме случаев, когда я пытаюсь автоматически связать поле в сервлете, аннотированном как @ Конфигурируемый, тогда я получаю хорошее NullPointerException ...
@Configurable(dependencyCheck=true)
public class CaptchaServlet extends HttpServlet{
@Autowired
private CaptchaServiceIface captchaService;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
// ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(config.getServletContext());
// captchaService = (CaptchaServiceIface) ctx.getBean("captchaService");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Captcha c = captchaService.getCatpcha();
req.getSession().setAttribute("captchaAnswer", c.getAnswer());
resp.setContentType("image/png");
ImageIO.write(c.getImage(), "png", resp.getOutputStream());
}
}
<context:load-time-weaver/>
<context:spring-configured/>
<context:component-scan base-package="cz.flexibla2" />
Есть предложения о том, что я делаю неправильно?
Спасибо.