我需要在Servlet中修改用户会话对象(SessionScoped bean-CDI),所以我必须以某种方式获取该bean.我用以下方式注射:
@Inject
private UserSession user;
Run Code Online (Sandbox Code Playgroud)
UserSession是SessionScoped CDI bean.用户方法是从doPost或doGet servlet方法调用的.这很完美; 每次@Inject注释都会注入相应的UserSession bean,但我不明白这种行为是如何实现的.
我假设用@Inject注释的bean只注入一次(当创建对象 - 本例中的Servlet实例时),但这显然是错误的假设.
那么,这些bean什么时候注入到servlet中?按要求?当有多个UserSession对象时,这种方法如何避免冲突(一个servlet实例 - 处理它的多个线程)?