繁体   English   中英

CDI注入Servlet无法正常工作

[英]CDI Injection into a Servlet not working

我有一个与生产者的控制器。

@Named
@SessionScoped
public class UserController{

    private User user;

    //other methods

    @Produces
    @User
    public User produceUser() {
        return user;
    }
}

如果将用户注入到Servlet中,那么我将始终获得同一用户(我比较了对象ID)-也在不同的会话中。 如果我将用户注入CDI Bean中,则它可以正常工作,并且可以获取当前会话的用户。

UserController是基于会话作用域的,但生产者不是。 也就是说,生产者具有@Dependent范围,因此在初始化servlet时,将一次注入User bean。

尝试将@SessionScoped添加到您的生产者方法中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM