在进行说明bean依赖检查的几种模式前,先给大家说明我们为什么要使用依赖检查那?我们知道在自动装配的过程都是隐式的,并不像我们使用ref的 属性指定依赖那么直接,所以作为开发人员很难看出Bean的每个属性是否都设定成功,这时我们就要借助这种依赖检查模式来帮助我们查看Bean的每个属性 是否被设置完成.所以一般情况下依赖检查和自动装配会经常配合来使用,使用Bean的dependency-check属性来指定Bean定义的依赖检查 有四种模式,simple,object,all,none.下面我们来分别看一下每种模式的用法.
1--->>simple模式
simple模式就是对基本类型,字符串,和集合进行依赖检查,请看下面的applicationContext.xml配置文件. <?xml version="1.0" encoding="UTF-8"?> <bean id="test" class="org.test.spring.Test" abstract="false" lazy-init="default" autowire="byName" dependency-check="simple"> <property name="str"> <value>zhangsan</value> </property> </bean> <bean id="time" class="java.util.Date"/>
从上述配置文件中我们可以看出,只会对字符串str进行依赖检查.
2--->>objects模式
objects模式是对依赖的对象进行依赖检查.请看下面配置文件
<bean id="test" class="org.test.spring.Test" abstract="false" lazy-init="default" autowire="byName" dependency-check="objects"> <property name="str"> <value>zhangsan</value> </property> </bean> <bean id="time" class="java.util.Date"/>
从上面配置文件中可以看出只会对time对象进行依赖检查.
3:--->>all 模式
all模式是对全部的属性进行依赖检查.请看下面配置文件
<bean id="test" class="org.test.spring.Test" abstract="false" lazy-init="default" autowire="byName" dependency-check="all"> <property name="str"> <value>zhangsan</value> </property> </bean> <bean id="time" class="java.util.Date"/>
由于dependency-check属性值设置为了all,则全部属性将会被进行依赖检查
4:--->>none模式
none模式就是不进行依赖检查.请看下面配置文件 <bean id="test" class="org.test.spring.Test" abstract="false" lazy-init="default" autowire="byName" dependency-check="all"> <property name="str"> <value>zhangsan</value> </property> </bean> <bean id="time" class="java.util.Date"/>
|
分享到:
相关推荐
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...
标题中提到的"Spring集成SpringSecurity依赖包"应该包含了这些必要的依赖,包括Spring Security本身和可能的Spring MVC依赖。 2. **配置Spring Security**:创建一个配置类,继承自`WebSecurityConfigurerAdapter`...
导入这些依赖文件到编译工具后,开发者可以在编写Spring配置文件时获得代码补全和语法检查的支持,提高开发效率并减少错误。通常,这可以通过以下步骤实现: 1. 将`dtd`或`xsd`文件放入项目的类路径(classpath)中...
在Java编程中,Spring框架是应用最广泛的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)容器。这篇博客"使用反射和注解模拟Spring的依赖注入"探讨了如何通过基本的Java特性来实现...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它允许对象之间的耦合性降低,使得代码更易于测试和维护。依赖注入的核心思想是将一个对象依赖的其他对象通过构造函数、setter方法...
对于AOP部分,Spring的AOP模块提供了一种声明式的方式来编写横切关注点,比如事务管理、安全检查等。这些关注点可以被定义为切面,并在运行时自动应用到特定的代码段上,提高了代码的可维护性和解耦性。 总的来说,...
"spring依赖架包part1"这个标题暗示我们将探讨Spring框架的基本依赖,这些依赖对于理解和使用Spring至关重要。让我们逐一解析给定的标签和文件名,以揭示其中蕴含的关键知识点。 1. **Stax**: StAX (Streaming API ...
// 关闭循环依赖检查 applicationContext.setAllowCircularReferences(false); applicationContext.refresh(); BookService bookService = (BookService) applicationContext.getBean("bookService"); System.out....
此时,检查并确保所有的 jar 包都已添加到项目的类路径(classpath)中,或者在 Maven 或 Gradle 的构建文件中正确地声明了依赖关系。如果使用 IDE,比如 IntelliJ IDEA 或 Eclipse,可以通过其内置的依赖管理工具...
Spring MVC 是 Spring 框架的一个...在实际项目中,你可以通过 Maven 或 Gradle 引入这些依赖,从而利用 Spring MVC 的强大功能构建高效、健壮的 Web 应用。在使用时,记得查看官方文档以获取最新的配置和最佳实践。
Spring框架是J2EE开发中的核心组件,它简化了企业级应用的开发过程,特别是在AOP(面向切面编程)和依赖注入(Dependency Injection,DI)方面。 AOP是一种编程范式,允许开发者定义“横切关注点”,即跨越多个对象...
对于setter注入,Spring会检查BeanDefinition中属性值的`ref`属性,如果存在,表示该属性是一个引用,需要查找对应的bean实例并注入。这个过程称为`autowiring`,自动匹配类型匹配的bean。 构造器注入则在创建bean...
- 在这个演示项目中,Maven被用来构建和管理项目,包括引入Spring Session和Redis相关依赖,以及配置项目的构建过程。 4. **配置Spring Session**: - 首先,需要在项目的配置文件中启用Spring Session,并指定...
5. **健康检查和Actuators**:Spring Boot提供了一组端点,用于监控和管理应用程序的健康状态,这些端点可以通过HTTP或者JMX访问。 6. **独立运行的Spring应用**:Spring Boot应用通常被打包为可执行的jar,可以...
Spring在创建Bean时会检查是否处于“当前创建Bean池”中,如果是,则会暂时保存这个半初始化的对象,稍后继续注入依赖。一旦所有的依赖注入完成,Bean将被正式注册到容器中。 3. prototype范围的循环依赖 对于非...
该指南深入浅出地介绍了Spring Boot的核心特性,包括自动配置、起步依赖、命令行界面、内嵌Web服务器、健康检查、Actuator监控等。 1. **自动配置**:Spring Boot的一大亮点就是其自动配置功能。通过`@...
然而,有时当我们尝试导入Spring的源码时,可能会遇到编译错误,这通常是因为缺少了必要的依赖jar包。这两个关键的jar包对于理解Spring的工作原理以及进行自定义扩展至关重要。 Spring框架的核心组件依赖于多个第三...
8. 测试:编写JUnit测试用例,检查Spring和MyBatis的整合是否成功,数据库操作是否按预期进行。 通过这样的整合,开发者可以利用Spring的强大功能管理对象和事务,同时借助MyBatis简化数据库操作。Spring+MyBatis的...