我有点困惑,我们将CDI bean称为使用@inject注释或我们在其中使用@inject的bean注入它们的bean?
dhe*_*ran 11
CDI bean是CDI可以自动实例化,管理和注入以满足其他对象的依赖关系的类.几乎所有Java类都可以由CDI管理和注入.
例如,PrintServlet依赖于Message实例,并由CDI运行时自动注入.
PrintServlet.java
@WebServlet("/printservlet")
public class PrintServlet extends HttpServlet {
@Inject private Message message;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.getWriter().print(message.get());
}
}
Run Code Online (Sandbox Code Playgroud)
Message.java(此类是CDI bean)
@RequestScoped
public class Message {
@Override
public String get() {
return "Hello World!";
}
}
Run Code Online (Sandbox Code Playgroud)
干杯!
CDI beanCDI container是由(例如 Weld)管理的 bean 。
如果是的话@injected——那就是豆子
如果它是可能的@injects东西-它也是豆子。
小智 6
CDI没有引入一种名为"CDI Bean"的新bean类型,它具有自己独特的组件模型.CDI提供了一组服务,这些服务可以由其现有组件模型定义的托管bean和EJB使用.所以CDI只是处理CDI生命周期的Bean(EJB或Managed Bean),具有"Context"和其他旧功能"DI"的范围.