`
bcyy
  • 浏览: 1832789 次
文章分类
社区版块
存档分类
最新评论

Spring中Bean的4种依赖检查模式

 
阅读更多

转自:http://jnotnull.iteye.com/blog/153475

在上面的一个例子中,我们看到,通过设立dependency-check="object"属性来在没有找到匹配的情况下抛出错误。这就是类型检查。

下面我们来看看Spring中的Bean的4中依赖检查模式:simple,object,all,none.
1 simple:对基本类型,字符型和集合进行依赖检查。
Java代码收藏代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
  3. "http://www.springframework.org/dtd/spring-beans.dtd">
  4. <beans>
  5. <beanid="HelloWorld"class="com.jnotnull.HelloWorld"
  6. autowire="autodectect"dependency-check="simple">
  7. <bean>
  8. <beanid="date"class="java.util.Date">
  9. </beans>

2 object:对依赖的对象进行检查
Java代码收藏代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
  3. "http://www.springframework.org/dtd/spring-beans.dtd">
  4. <beans>
  5. <beanid="HelloWorld"class="com.jnotnull.HelloWorld"
  6. autowire="autodectect"dependency-check="object">
  7. <bean>
  8. <beanid="date"class="java.util.Date">
  9. </beans>

3 all:对全部属性进行检查
Java代码收藏代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
  3. "http://www.springframework.org/dtd/spring-beans.dtd">
  4. <beans>
  5. <beanid="HelloWorld"class="com.jnotnull.HelloWorld"
  6. autowire="autodectect"dependency-check="all">
  7. <bean>
  8. <beanid="date"class="java.util.Date">
  9. </beans>

4 none:不进行依赖检查:
Java代码收藏代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
  3. "http://www.springframework.org/dtd/spring-beans.dtd">
  4. <beans>
  5. <beanid="HelloWorld"class="com.jnotnull.HelloWorld"
  6. autowire="autodectect"dependency-check="none">
  7. <bean>
  8. <beanid="date"class="java.util.Date">
  9. </beans>

由此我们可以看出,依赖检查一般和自动装载进行配套使用。如果没有自动装载,也就没有依赖检查的必要了。
分享到:
评论

相关推荐

    Spring中文帮助文档

    3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 3.4.5. 自定义作用域 3.5. 定制bean...

    spring13: spring 循环依赖

    无论单例还是原型模式(下文①代表图中步骤1),spring都有对应的集合保存当前正在创建的beanName,标识该beanName正在被创建。在bean创建前,①检测当前bean是否在创建中,如果不在创建中则②将beanName加入集合,往...

    Spring攻略(第二版 中文高清版).part1

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    Spring API

    3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. Singleton beans和prototype-bean的依赖 3.4.4. 其他作用域 3.4.5. 自定义作用域 3.5. 定制bean...

    Spring攻略(第二版 中文高清版).part2

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    PHP框架 Ding Framewrok v1.6.1

    Ding 是一个 PHP 框架实现了依赖注入、AOP面向方面编程、轻量... Ding Framewrok v1.6.0增加了MVC pre- 和post-dispatch拦截器,增加了当创建bean时候要对周期依赖的检查,修复了缓存中的bean被容器中的类知道的bug。

    Struts2 in action中文版

    9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果的创建 203 9.2.2 使用自动连线将依赖注入到动作、拦截器和结果 205 9.3...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics