Я хочу добавить bean-компоненты, аннотированные типом области действия, в неявный архив (без beans.xml). Как я могу это сделать?
Я пытаюсь внедрить bean-компонент SessionScoped (bean_session) в сервлет, но он всегда возвращает ноль. Посоветуйте, пожалуйста, как вводить бины, аннотированные типом области.
Мой код выглядит следующим образом:
package test.web;
import java.io.IOException;
import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import test.bean.SessionScopedBean;
@WebServlet("/_test")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
static final Logger logger = LogManager.getLogger();
@Inject
SessionScopedBean bean_session;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (null == this.bean_session) {
logger.debug("{} is null.", SessionScopedBean.class);
} else {
logger.debug("{} before: {} after: {}", this.bean_session.getClass(), this.bean_session.getCount(),
this.bean_session.increase());
}
}
}
Кстати, @SessionScoped аннотируется в SessionScopedBean.java