转自:http://jnotnull.iteye.com/blog/153475
在上面的一个例子中,我们看到,通过设立dependency-check="object"属性来在没有找到匹配的情况下抛出错误。这就是类型检查。
下面我们来看看Spring中的Bean的4中依赖检查模式:simple,object,all,none.
1 simple:对基本类型,字符型和集合进行依赖检查。
-
<?xmlversion="1.0"encoding="UTF-8"?>
-
<!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
-
"http://www.springframework.org/dtd/spring-beans.dtd">
-
<beans>
-
<beanid="HelloWorld"class="com.jnotnull.HelloWorld"
-
autowire="autodectect"dependency-check="simple">
-
<bean>
-
<beanid="date"class="java.util.Date">
-
</beans>
2 object:对依赖的对象进行检查
-
<?xmlversion="1.0"encoding="UTF-8"?>
-
<!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
-
"http://www.springframework.org/dtd/spring-beans.dtd">
-
<beans>
-
<beanid="HelloWorld"class="com.jnotnull.HelloWorld"
-
autowire="autodectect"dependency-check="object">
-
<bean>
-
<beanid="date"class="java.util.Date">
-
</beans>
3 all:对全部属性进行检查
-
<?xmlversion="1.0"encoding="UTF-8"?>
-
<!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
-
"http://www.springframework.org/dtd/spring-beans.dtd">
-
<beans>
-
<beanid="HelloWorld"class="com.jnotnull.HelloWorld"
-
autowire="autodectect"dependency-check="all">
-
<bean>
-
<beanid="date"class="java.util.Date">
-
</beans>
4 none:不进行依赖检查:
-
<?xmlversion="1.0"encoding="UTF-8"?>
-
<!DOCTYPEbeansPublic"-//SPRING//DTDBEAN//EN"
-
"http://www.springframework.org/dtd/spring-beans.dtd">
-
<beans>
-
<beanid="HelloWorld"class="com.jnotnull.HelloWorld"
-
autowire="autodectect"dependency-check="none">
-
<bean>
-
<beanid="date"class="java.util.Date">
-
</beans>
由此我们可以看出,依赖检查一般和自动装载进行配套使用。如果没有自动装载,也就没有依赖检查的必要了。
分享到:
相关推荐
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...
无论单例还是原型模式(下文①代表图中步骤1),spring都有对应的集合保存当前正在创建的beanName,标识该beanName正在被创建。在bean创建前,①检测当前bean是否在创建中,如果不在创建中则②将beanName加入集合,往...
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 ...
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...
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 ...
Ding 是一个 PHP 框架实现了依赖注入、AOP面向方面编程、轻量... Ding Framewrok v1.6.0增加了MVC pre- 和post-dispatch拦截器,增加了当创建bean时候要对周期依赖的检查,修复了缓存中的bean被容器中的类知道的bug。
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...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................