依赖检查
Spring除了能对容器中bean的依赖设置进行检查外,还可以检查bean定义中实际属性值的设置,当然也包括采用自动装配方式设置属性值的检查。
当需要确保bean的所有属性值(或者属性类型)被正确设置的时候,那么这个功能会非常有用。当然,在很多情况下,bean类的某些属性会具有默认值,或者有些属性并不会在所有场景下使用,因此这项功能会存在一定的局限性。就像自动装配一样,依赖检查也可以针对每一个bean进行设置。依赖检查默认为not,它有几种不同的使用模式,在xml配置文件中,可以在bean定义中为dependency-check属性使用以下几种值:
模式
|
说明
|
none
|
没有依赖检查,如果bean的属性没有值的话可以不用设置。
|
simple
|
对于原始类型及集合(除协作者外的一切东西)执行依赖检查
|
objects
|
仅对协作者执行依赖检查
|
all
|
对协作者,原始类型及集合执行依赖检查
|
下面还是通过示例来演示
程序清单:EmpServiceImpl.java
public class EmpServiceImpl {
private String name;
private Integer age;
private List<Emp> list;
public void setName(String name) {
this.name = name;
}
public void setList(List<Emp> list) {
this.list = list;
}
}
程序清单:测试类àEmpTest.java
public class EmpTest {
@Test
public void test1(){
ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
EmpServiceImpl esi=(EmpServiceImpl) ac.getBean("empServiceImpl");
}
}
applicationContext.xml文件
第一种:
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" ></bean>
解析:上述文件不会出现任何错误。即使在EmpServiceImpl.java中存在属性 及其相应的set依赖注入方法。
第二种:
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" dependency-check="none"></bean>
解析:和第一种一样!
第三种:
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" dependency-check="simple"></bean>
解析:会报如下错误:
Error creating bean with name 'empServiceImpl' defined in class path resource [applicationContext.xml] :Unsatisfied dependency expressed through bean property 'name':Set this property value or disable dependency checking for this bean.
也就是说因为empServiceImpl中有name这个属性,及其相应的set依赖注入方法。又因在配置文件中有依赖检查dependency-check。也许有人会问为什么错误信息中没有age属性和list集合呢?这是因为dependency-check的值为"simple”,这个值只依赖检查原始数据,例如:String、Integer···,没有包含age属性是因为其没有相应的set依赖注入方法。
解决方案:
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" dependency-check="simple">
<property name="name">
<value>Well_Being</value>
</property>
</bean>
第四种:
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" dependency-check="objects"></bean>
解析:会报如下错误:
Error creating bean with name 'empServiceImpl' defined in class path resource [applicationContext.xml] :Unsatisfied dependency expressed through bean property 'list':Set this property value or disable dependency checking for this bean.
不难发现,错误的矛头又指向了list集合。“objects”,这个值只依赖检查bean和集合
分享到:
相关推荐
OCX依赖检查器是一款实用的工具,专门用于解决在Windows操作系统中注册OCX(Object Linking and Embedding, Control eXtension)控件或DLL(Dynamic Link Library)库文件时遇到的问题。当你尝试注册某个OCX控件但...
"DLL依赖检查工具"是一种实用的软件开发辅助工具,它能帮助开发者识别和管理应用程序对DLL文件的依赖关系。 此工具的主要功能是检查组件或可执行文件(.exe)对DLL文件的依赖性。在软件开发过程中,确保所有必要的...
"war包依赖检查"是为了确保项目中所有war包的依赖版本一致且正确。war包通常用于打包Web应用程序,其中包含了Servlet、JSP等Web组件。当war包的依赖不当时,可能会引发运行时错误、功能缺失或者性能下降。因此,对...
"depends动态库依赖检查"是一个关键的工具,用于分析和理解DLL文件的依赖性,确保程序正确运行。 动态库的实际依赖关系可能涉及其他DLL文件、系统组件或特定版本的库。当一个程序无法启动或运行时,往往是因为它...
### Spring 依赖检查详解 #### 一、Spring依赖检查的重要性 在Spring框架中,依赖检查是一种重要的机制,用于确保Bean的依赖关系已经被正确地配置。它可以帮助开发者在启动应用程序时发现那些未被正确配置的Bean,...
Dubbo服务启动依赖检查
该工具的核心组成部分包括`depends.exe`,这是主应用程序,用户通过它来启动和操作依赖检查;`depends.dll`则是支持库,包含了执行依赖分析所需的各种函数和数据结构;`depends.chm`是帮助文档,提供了详细的操作...
Go-glice是一款针对Go语言开发的工具,专门用于进行许可证和包依赖的检查。这个工具对于维护代码的合规性和确保项目安全具有重要意义。在Go语言的生态系统中,了解并管理好项目的依赖关系以及它们所携带的许可证信息...
VS2008里面没有,分享给大家 Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。 同时也可以看到每个被依赖的dll中的所有导出的函数接口。
依赖检查 检查您在代码中使用了哪些模块,然后确保它们在package.json中被列为依赖项,反之亦然 维持专业的要求 依赖项检查5.x支持Node.js 12及更高版本 依赖检查4.x支持Node.js 10及更高版本 依赖检查3.x支持Node....
Godi 是一个用来检查 Go 程序包依赖哪些其他包的命令行工具,调用 go list 命令获取包依赖信息。例如执行 godi log 的输出是:fmt io os runtime sync time 标签:Godi
1. 检查OCX控件是否缺失必要的DLL文件,以便确保在目标环境中正确运行。 2. 发现潜在的版本冲突,当多个版本的同一DLL被不同的OCX控件引用时。 3. 确认动态链接的DLL是否已更新到最新版本,以确保安全性和兼容性。 4...
本"dll依赖检测工具"是一个用于检查程序是否缺少必要的DLL文件或者依赖关系是否正确的实用工具。开发者或系统管理员可以使用它来诊断程序运行失败的原因,确保所有必需的DLL文件都已安装并且与程序兼容。 该工具...
Dependencies和depends walker用法相同,可以检测出当前dll文件的依赖关系,Dependencies并且更为明显的显示出对应依赖库的绝对路径,查询问题更为方便快捷。 问题案例: 无法加载 DLL“XXXTest.dll”: 找不到指定的...
工具会检查每个函数所在的DLL是否存在,以及其版本是否匹配。如果发现缺失或版本不兼容的DLL,工具将提供相应的信息,这对于定位和修复问题至关重要。 在提供的压缩包"05-dependsTool"中,可能包含了这个动态库查询...
- DEPENDS.EXE:这是主程序文件,执行此文件即可启动dll_tools工具,进行依赖检查操作。 - DEPENDS.HLP:这是工具的帮助文件,提供在线帮助支持,用户在使用过程中遇到疑问,可以查阅此文件获取解答。 总结,dll_...
标题中的“强大的动态库依赖项检测工具”指的是一个专门用于检查和分析动态链接库(DLL)文件依赖关系的软件。这种工具对于开发者来说极其重要,因为它可以帮助他们识别和解决程序运行时由于缺失依赖库导致的问题。 ...
`revdepcheck`是R社区中一个非常有用的工具,它专门用于进行R包的反向依赖检查。反向依赖(Reverse Dependencies,简称RevDep)指的是那些依赖于你所开发或关注的包的所有其他R包。理解这些依赖关系对于确保包的兼容...
64位DLL依赖查看器是一款专业工具,用于分析和检查64位Windows应用程序对动态链接库(DLL)的依赖关系。这款软件/插件对于开发者和系统管理员来说极为有用,因为它可以帮助他们理解程序运行时所需的库,从而解决可能...