我试着注入一个带有实现的接口,但它始终为null。
我使用依赖
"SignatureVersion":["2"]
这是代码
LoginServlet类
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
UserDao界面
@Named
@RequestScoped
@WebServlet(urlPatterns = "/login.do")
public class LoginServlet extends HttpServlet {
@Inject
UserDao userDao;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
User user = userDao.findByUsername("USERNAME");
PrintWriter out = response.getWriter();
out.println(user.getName());
}
}
UserDaoImpl类
public interface UserDao {
User findByUsername(String username);
}
用户类
public class UserDaoImpl implements UserDao {
@Override
public User findByUsername(String username) {
User user = new User();
user.setName("HEEEY");
return user;
}
}
我没有让它发挥作用..并且不明白为什么。
答案 0 :(得分:0)
试试这个:
auto
我认为,这应该有用。
答案 1 :(得分:0)
在Workbook.Range("SomeName").Value
类
@RequestScoped
注释
UserDaoImpl
答案 2 :(得分:0)
要么缺少beans.xml,要么没有可用的cdi库。 (Tomcat应该拥有它,因此很可能缺少beans.xml)
在以下描述的位置中名为beans.xml的空文件:
Where should beans.xml be placed?
就够了。
答案 3 :(得分:0)
CDI扫描仪似乎没有扫描您的咖啡豆。
在cordova platform add https://github.com/apache/cordova-android
beans.xml
个文件
src/main/resources/META_INF
这将激活扫描。