博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 依赖检查
阅读量:6214 次
发布时间:2019-06-21

本文共 1100 字,大约阅读时间需要 3 分钟。

hot3.png

在Bean被创建时,如果Bean的属性(property)在配置文件Bean的定义中没有进行初始化赋值,默认情况下是不做检查的。但是很多情况下会要求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注解只能设置在setter方法上。下面我们来看一下如何使用@Required注解。

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

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

@

public void setName(String name) {  

        this.name = name;

}  

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

转载于:https://my.oschina.net/u/2971691/blog/789459

你可能感兴趣的文章
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
《OSPF和IS-IS详解》一2.7 BGP-IGP的路由交换
查看>>
App开发中甲乙方冲突会闹出啥后果?H5 APP 开发可以改变现状吗
查看>>
python知识点总结---函数
查看>>
centos7 mysql数据库的安装与使用
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
iphone开发实现单选框
查看>>
keymaster -快捷键管理器
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
Apache服务器SSL双向认证配置
查看>>
论数据库访问组件的选择--火地晋大作读后感
查看>>
php socket服务端和OC客户端(简单的测试)
查看>>
算法:基于 RingBuffer 的 Deque 实现
查看>>
Unity 物理引擎动力学关节
查看>>
黄聪:360浏览器、chrome开发扩展插件教程(1)开发Chrome Extenstion其实很简单
查看>>
新年是否应该跳槽去外包公司呢?
查看>>
架构:Hexagonal Architecture Guidelines for Rails(转载)
查看>>