感觉总结的比较乱,希望能给初学都带来点帮助吧!
<bean id="age" class="a.b.A" autowire-candidate="false">autowire-candidate的属性设为false,这样容器在查找自动装配对象时将不考虑该bean
<constructor-arg>构造器的注入方式
</constructor-arg>
<property name="属性名">setter注入方式
<value>直接量(基本类型,strings类型等)</value>
<idref bean="不同XML里的bean也可以访问到" local="只有本XML里的bean可以访问到" parent="访问父类的bean"/>
<ref bean="本地bean的id属性或name属性"/>该元素用来将bean中指定属性的值设置为对容器中的另外一个bean的引用
<bean class="a.b.B"></bean>内部bean不需要有id or name
</property>
<property name="">
<props>*.properties文件注入方法
<prop key="key名" >key对应的值</prop>
</props>
<list>
<value>值</value>
</list>
<list ></list>
<set>
<value>值</value>
</set>
<map>
<entry>
<key>key名</key>
<value>key值</value>
<key>
<value></value>
</key>
</entry>
</map>
</property>
</bean>
depends-on使用:
多数情况下,一个bean对另一个bean的依赖最简单的做法就是将一个bean设置为另外一个bean的属性。在xml配置文件中最常见的就是使用<ref/>
元素。有时候它还有另外一种变体,如果一个bean能感知IoC容器,只要给出它所依赖的id,那么就可以通过编程的方式从容器中取得它所依赖的对象。无论采用哪一种方法,被依赖bean将在依赖bean之前被适当的初始化。
在少数情况下,有时候bean之间的依赖关系并不是那么的直接(例如,当类中的静态块的初始化被时,如数据库驱动的注册)。depends-on
属性可以用于当前bean初始化之前显式地强制一个或多个bean被初始化。下面的例子中使用了depends-on
属性来指定一个bean的依赖。
<bean id="beanOne" class="ExampleBean" depends-on="manager"/>
<bean id="manager" class="ManagerBean" />
若需要表达对多个bean的依赖,可以在'depends-on'
中将指定的多个bean名字用分隔符进行分隔,分隔符可以是逗号、空格及分号等。下面的例子中使用了'depends-on'
来表达对多个bean的依赖。
<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao">
<property name="manager" ref="manager" />
</bean>
<bean id="manager" class="ManagerBean" />
<bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />
延迟初始化lazy-init
在XML配置文件中,延迟初始化将通过<bean/>
元素中的lazy-init
属性来进行控制。例如:
<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true" >
<!-- various properties here... -->
</bean>
<bean name="not.lazy" class="com.foo.AnotherBean">
<!-- various properties here... -->
</bean>
当ApplicationContext
实现加载上述配置时,设置为lazy
的bean将不会
在ApplicationContext
启动时提前被实例化,而not.lazy
却会被提前实例化。
分享到:
相关推荐
- **依赖注入**:依赖注入是Spring框架的核心功能之一,通过构造函数注入、setter方法注入或字段注入等方式,实现了组件之间的解耦。 - **面向切面编程**:Spring支持在运行时动态地添加行为到程序中,如日志记录、...
Java 开发学习(六)----DI 依赖注入之 setter 及构造器注入解析 本文将详细介绍 Java 中的依赖注入(Dependency Injection,简称 DI),特别是 setter 注入和构造器注入两种方式的使用和实现。 一、DI 依赖注入 ...
在Spring中,DI主要通过两种方式实现:构造器注入和setter注入。构造器注入是在创建对象时通过构造函数传入依赖,而setter注入则是在对象创建后通过setter方法设置依赖。 当我们使用`@Autowired`注解时,Spring容器...
依赖注入(DI)是一种设计模式,它允许一个对象通过构造器、工厂方法的参数或属性来定义它们对其他对象的依赖关系,然后由外部实体(通常是IoC容器)在运行期来解析这些依赖关系,并将依赖的对象注入到需要它们的...
在"spring源码解析"的资料中,我们可能会深入探讨以下几个关键知识点: 1. **IoC(Inversion of Control,控制反转)与DI(Dependency Injection,依赖注入)**:这是Spring的核心特性,它通过反转对象的创建和管理...
XML解析则是实现依赖注入的一种常见方式,尤其是在Spring框架中广泛使用。本篇文章将深入探讨如何利用XML解析来完成依赖注入,并结合源码`xmlparse_Ioc`进行详细解释。 首先,我们要理解什么是依赖注入。依赖注入的...
3. **依赖注入**:深入解析依赖注入的概念,如何通过构造器注入、设值注入和接口注入等方式实现对象间的依赖关系。 4. **AOP**:介绍AOP的基本概念,包括切面、通知、连接点、切入点表达式等,并演示如何使用Spring...
在Spring框架中,注入Date类型的属性有多种方式,下面我们将详细讲解上述三种方法。 1. 利用`SimpleDateFormat`的构造方法注入: 这种方式通过创建一个`SimpleDateFormat`实例来解析日期字符串,然后将解析后的日期...
在IT行业中,Spring框架是Java应用开发中的一个关键...总的来说,自定义Schema解析是Spring框架中一个强大的工具,它为项目提供了一种灵活的方式来管理和配置应用的组件,增强了Spring XML配置的可扩展性和可定制性。
依赖注入是一种软件设计模式,它的核心思想是将一个类的依赖项通过构造器、setter方法或其他方式注入到该类中,而不是由该类自己创建这些依赖项。Spring框架通过BeanFactory或ApplicationContext接口提供了依赖注入...
Spring支持三种依赖注入方式:构造器注入、setter方法注入和基于字段的注入。 - **构造器注入**:通过构造器参数传递依赖项。 - **setter方法注入**:通过setter方法设置依赖项。 - **基于字段的注入**:直接在类的...
通过对给定文件中的信息进行解析,我们了解到了两种实现定时任务的方法:一种是基于 Java 标准库 `java.util.Timer` 的简单实现;另一种则是利用 Spring 框架集成 Quartz 实现更为复杂灵活的定时任务管理。这两种...
### Spring技术内幕:深入解析Spring架构与设计原理 #### Spring框架概述 Spring是一个开源的Java应用框架,由Rod Johnson创建并领导开发。Spring的核心特性包括依赖注入(Dependency Injection,DI)、面向切面...
在深入探讨Spring框架中基于注解(Annotation)的依赖注入(Dependency Injection,简称DI)实现之前,我们首先需要理解几个核心概念:Spring框架、依赖注入、以及注解本身。 ### Spring框架简介 Spring框架是一个...
- 构造方法注入:要求提供一个带参数的构造器,容器通过调用构造器将依赖注入到类中。这种方式在实例化时就需要所有依赖,不能延迟创建。 为了简化配置,Spring还提供了p命名空间和c命名空间的配置方式,分别对应...
本书《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》是由计文柯所著,旨在深入分析和探讨Spring框架的架构及设计原理。Spring框架是目前Java开发者中使用最广泛的开源框架之一,它不仅提供了一种轻量级...