`
younglibin
  • 浏览: 1207620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring依赖关系配置

阅读更多

 

依赖注入--如果A依赖于B,则B实例不再由A负责生成,而有容器负责生成,并注入给A实例,因此称为依赖注入,也称为控制反转。
  
   配置依赖
     根据注入方式的不同,

bean的依赖注入通常表现为如下两种形式:
        1,属性:通过property属性来指定对应的设值注入。
        2,构造器参数:通过constructor-arg属性来指定对应的构造注入。
   在Spring在实例化BeanFactory时,通常会校验BeanFactory中的每一个Bean的配置。

      这些校验包括:
        1.bean引用的合作者指向一个合法的bean.
        2.对于被设置为pre-instantiated的bean的singleton行为,Spring会在创建BeanFactory时,同时实例化bean.实例化bean时,也会将它所依赖的bean一起实例化。


        此外,BeanFactory与ApplicationContext实例化容器中的bean的时机不同:前者在程序需要bean实例时才创建Bean;而后者在加载ApplicationContext实例时,会自动实例化容器中的全部bean.
        ApplicationContext是默认预实例化singleton bean。ApplicationContext实例化过程比BeanFactory时间和内存占用率大,但可以在ApplicationContext创建时就检验出配置错误。当然可以通过lazy-load属性为“true”来改变ApplicationContext的默认行为!
        bean的依赖通常可以接受如下元素指定值:
            1.value.
            2.ref.
            3.bean.
            4.list.set.map.以及props.

A.首先来看看value元素。
        value元素用于确定字符串参数。XML文档解析器解析以String解析出这些数据,然后将这些参数由PropertyEditors完成转换(从java.lang.String类型转换为所需的参数类型)。

B.接着是ref元素
            如果需要为bean注入的属性是容器中的某个bean实例,推荐使用ref。
             ref元素通常有两个属性:
                1.bean
                2.local
     bean用于指定在不同一个xml配置文件中的bean;


     local用于指定同一个xml配置文件中的其他bean,并且local属性值只能是其他bean的id属性,让Spring在解析XML时,验证bean的名称。

 

 C.bean元素
            如果某个bean的依赖bean不想被Spring容器直接访问,则可以使用嵌套bean。
            嵌套bean只对嵌套它的外部bean有效,而Spring容器无法直接访问嵌套bean,因此嵌套bean无需id属性。
            嵌套bean的配置形式,保证嵌套bean不能被容器访问,提高了程序的内聚性。

D.list,set,map,以及props元素
            list,set,map和props元素分别用来设置类型为List,Set,Map和Properties的属性值,用来为bean注入集合值。

     map元素entry的值以及set元素的值都可以使用如下元素:
        1.vlaue:确定基本数据类型值或字符串类型值。
        2.ref:确定另外一个bean为属性值。
        3.bean:确定一个嵌套bean为属性值。
        4.list,set,map,以及props:确定集合值为属性值。

 

分享到:
评论

相关推荐

    Spring依赖包和配置文件

    本篇将详细介绍Spring依赖包和配置文件的相关知识。 一、Spring依赖包 1. **Spring Core**:这是Spring框架的核心部分,提供了IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)服务。...

    spring依赖注入底层详解

    Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...

    spring依赖包

    这个"spring依赖包"包含了Spring框架所需要的各种组件和库,使得开发者无需单独下载,可以直接在项目中引用。 Spring框架的主要组成部分包括: 1. **Spring Core**:这是Spring的基础,提供了依赖注入(DI)和容器...

    Spring 相关依赖包

    IoC容器负责管理对象的生命周期和依赖关系,使得代码更加松耦合,更易于测试和维护。 2. **AOP(Aspect Oriented Programming)模块**: AOP允许开发者定义"切面",将关注点(如日志、事务管理)从业务逻辑中分离...

    spring依赖资源包

    这个"spring依赖资源包"很可能是包含了一系列与Spring框架相关的库文件,这些文件通常以JAR格式存在,位于一个名为"lib"的目录下。在Java项目中,"lib"目录用于存放所有项目的外部依赖,使得应用程序能够正确运行。 ...

    spring bean XML配置入门

    而Maven则是一个项目管理和综合工具,主要负责管理项目的依赖关系,确保所有必要的库都正确地被引入到项目中。 7. **Maven的使用**: 虽然这个教程不提供Maven构建步骤,但通常我们需要在`pom.xml`文件中声明...

    spring依赖注入

    Spring依赖注入是Spring框架的核心特性之一,它使得对象之间的依赖关系得以解耦,增强了代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的理念是,一个对象不应该负责寻找并创建它所依赖的对象...

    使用MyEclipse查看Spring的依赖视图

    - 这些配置文件用于定义Spring容器中的bean以及它们之间的依赖关系。 4. **配置SessionFactory** - 如果你的应用使用了Hibernate或其他ORM框架,那么你可能还需要配置`SessionFactory`,以便Spring能够管理...

    Spring+Spring依赖jar包+Spring日志

    Spring框架是Java Web开发中的核心框架,它简化了配置、管理以及组件之间的依赖关系,极大地提高了开发效率。这个压缩包包含了一系列Spring相关的jar包,这些jar包是Spring框架的基石,用于实现各种功能。 首先,...

    spring依赖注入的实现原理

    Spring依赖注入(Dependency Injection,简称DI)是Java应用开发中常用的设计模式,它极大地提高了代码的可测试性和可维护性。在Spring框架中,依赖注入是核心特性之一,通过控制反转(Inversion of Control,IoC)...

    Spring的基本配置

    依赖注入是Spring的核心功能,它允许我们声明Bean之间的依赖关系,而不是硬编码这些关系。Spring会根据配置自动管理Bean的生命周期,包括实例化、初始化、装配和销毁。 1. 构造器注入 通过构造函数传递依赖。 ```...

    spring IOC容器依赖注入XML配置

    在实际应用中,Spring的XML配置文件可能包含多个bean,每个bean都有自己的配置,包括初始化方法、销毁方法、属性注入、依赖关系等。此外,还可以使用`<import>`标签将其他配置文件导入,以便于组织和管理复杂的配置...

    spring学习:依赖注入的几种方式讨论

    `service()`方法调用`repository()`来创建依赖关系。 四、自动配置(Auto-configuration) Spring Boot引入了一种更智能的依赖注入方式——自动配置。自动配置是通过`@EnableAutoConfiguration`注解启动的,它根据...

    Spring读取配置文件原理(Spring如何依赖注入的)

    在Spring中,配置文件通常为XML格式,如`applicationContext.xml`,它定义了bean的实例化、属性设置、装配关系等。当我们启动Spring容器(如ClassPathXmlApplicationContext),容器会解析这个XML文件,生成相应的...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    在解析XML配置文件或处理Java配置类时,Spring会创建一个BeanDefinition对象,它包含了bean的所有元信息,如类名、依赖关系、初始化方法等。对于`@Autowired`的处理,Spring在Bean实例化后会执行一个称为“依赖解析...

    Spring依赖注入使用setter设注入demo

    首先,理解依赖注入的基本思想:对象之间的依赖关系不是由对象自身管理,而是由外部容器(在这里就是Spring IoC容器)负责创建和维护。这样,对象可以在不关心依赖的具体实现情况下,通过配置文件或注解来获取所需的...

Global site tag (gtag.js) - Google Analytics