CDI技术第四步,依赖作用域与作用域总结
来源:互联网 发布:什么是淘宝标题 编辑:程序博客网 时间:2024/05/16 08:48
CDI技术第四步:依赖作用域
Dependent作用域是比request作用域还小的作用域,都不能保证每个request内的唯一。简单地说就是要一个就new一个。
我简单地举个例子。
这个是servlet
package cdiscope.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 cdiscope.bean.DependentService;
@WebServlet("/dependent.html")
public class DependentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Inject
private DependentService service1;
@Inject
private DependentService service2;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().append("The service 1 is " + service1).append("\nThe service 2 is " + service2);
}
}
这里注入了两个@Dependent注解的Bean。
结果是两个对象内存地址并不一样。
如果是Request作用域的Bean,这两次注入绝对是同一对象。
我们再来总结一下,我们将作用域从小到大进行一个排列。
Dependent,对象贼多,要一个就new一个对象。
RequestScoped,对于每个HTTP请求,维护一个对象。
ConversationScoped,默认与RequestScoped一致,但是如果开始了会话,并将cid传递过去,那么就可以在多个HTTP请求共享一个对象。
SessionScoped,对于每个Http Session,维护一个对象。
ApplicationScoped,对于每个web应用,维护一个对象。
- CDI技术第四步,依赖作用域与作用域总结
- CDI技术第三步,对话作用域
- CDI学习第二步,BEAN作用域
- CDI技术第八步 动态CDI BEAN
- CDI技术第九步 构造注入与setter注入
- CDI进阶第四步 自定义注解验证
- WEB作用域依赖问题
- Maven依赖的作用域
- javascript执行上下文、作用域与闭包(第四篇)---作用域与执行上下文
- CDI技术第六步:自定义选择器注解
- CDI技术第七步 生命周期管理
- CDI进阶第八步 CDI初始化与销毁事件
- C++作用域总结
- javascript作用域总结
- js作用域总结
- Python作用域总结
- Cookie&Session会话技术&Servlet三个作用域总结
- 语法作用域与词法作用域
- CTabCtrl
- HTML-Day02-2
- 根据类中的某个属性对类进行排序
- 修改sqlserver 的编码格式
- Android服务端开发1--使用Eclipse+Tomcat搭建Web服务端
- CDI技术第四步,依赖作用域与作用域总结
- el fn函数
- handler机制的原理
- .net 利用 GZipStream 压缩和解压缩
- 基于用户投票的排名算法(三):Stack Overflow
- json
- java打不开 网页无法打开
- ArrayList和LinkedList 以及 Hashtable和HashMap的区别
- Struts2 <s:doubleselect>级联下拉框 详解析