文档章节

Spring 依赖检查

博为峰教研组
 博为峰教研组
发布于 2016/11/17 09:38
字数 417
阅读 61
收藏 0

在Bean被创建时,如果Bean的属性(property)在Spring配置文件Bean的定义中没有进行初始化赋值,默认情况下Spring是不做检查的。但是很多情况下会要求Bean特定的属性必须进行初始化赋值,这种初始化赋值的检查就叫做依赖检查。在Spring2.x中通过在bean标签中使用dependency-check属性设定由Spring进行强制检查的方式。denpendency-check属性有四个值:none、object、simple、all。

如果不进行设置设就是Spring中dependency-check的默认值none,不进行任何检查。<bean id="bwf" class="com.Boweifeng" dependency-check="none">

只检查简单类型属性以及集合类型属性,则配置为simple。<bean id="bwf" class="com.Boweifeng" dependency-check="simple">

检查除简单类型属性以及集合类型属性外的引用类型属性,属性配置为object。<bean id="bwf" class="com.Boweifeng" dependency-check="object">

检查所有类型属性,denpendency-check的值配置为all。<bean id="bwf" class="com.Boweifeng" dependency-check="all">

而既然Spring3中放弃使用了dependency-check属性,提供一种更加灵活的检查方式:@Required注解检查。但他只检查属性是否已经设置而不会测试属性是否非空,而且@Required注解只能设置在setter方法上。下面我们来看一下如何使用@Required注解。

需要在配置文件中加上这样一句话:<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>。或者加入:<context:annotation-config/>。

做好这样的配置就可以使用@Required注解了:

@Required  

public void setName(String name) {  

        this.name = name;

}  

这样就配置完成了,这样如果任何带有@Required的属性未设置的话 将会抛出BeanInitializationException异常。

© 著作权归作者所有

博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的。 自定义Maven的 ...

waylau
2018/12/12
0
0
【死磕 Spring】—– IOC 之parentBeanFactory 与依赖处理

原文出自:http://cmsblogs.com 如果从单例缓存中没有获取到单例 bean,则说明两种两种情况: 该 bean 的 scope 不是 singleton 该 bean 的 scope 是 singleton ,但是没有初始化完成 针对这两...

chenssy
2018/10/18
0
0
【死磕 Spring】—– IOC 之开启 bean 的加载

原文出自:http://cmsblogs.com (此图来自《Spring 揭秘》) Spring IOC 容器所起的作用如上图所示,它会以某种方式加载 Configuration Metadata,将其解析注册到容器内部,然后回根据这些信息...

chenssy
2018/10/18
0
0
异常解决[ asm ClassReader failed to parse class file]

异常解决[ asm ClassReader failed to parse class file] 15:56:17,364 []-[DEBUG] Resolved location pattern [classpath*:com/baoy/**/*.class] to resources [file [D:cacheeclipse4mvn-w......

curiousby
2018/02/02
0
0
关于Spring IOC依赖检查的一点疑问

大家好,本人最近在用Spring构建一个开发平台,但是遇到一些疑问,认为是Spring的不足或者是我自己的知识不足吧,在这里抛砖引玉,看看是否有更好的解决方案! 问题描述: 在架构搭建的过程中...

边缘行者
2011/12/20
402
1

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
今天
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部