1、 Resorce:对配置文件的访问,包含ClassPathResource和FileSystemResource两个常用类。
2、 Factory:BeanFactory只在获取bean的时候时候实例化bean。ApplicationContext继承于BeanFactory。有BeanFacotry的功能,同时具有方便读取资源文件,国际化,发布消息等其他功能。并且在建立的时候就实例化所有Bean。
3、 Bean资源文件:可以通过<import resource=””>引入其他的bean配置文件,要在bean元素之前使用。常用于协同开发。可以通过<alias name=”” alias=””>元素或者bean元素的name属性来制定别名。通常用于一个Bean注入几个组件中,增加可读性。
4、 Bean的实例化:bean最好包含无参的构造函数。用于容器实例bean时使用。同时也可以使用bean元素的factory-bean属性和factory-method属性来实例化bean。
5、 Bean的scope:prototype和singleton。在web环境下有request和session值。
6、 Bean的init和destory:对应bean元素的init-method和destory-method属性值。如果所有bean的init和destroy方法名相同,则可以使用beans元素的init-method和destory-method属性值。
7、 Bean注入值的继承:通过bean元素的abstract和parent属性值,可以实现继承。可以避免重复设置同名属性值。
8、 Bean的依赖设置:<constructor-arg type=”” index=””>构造注入。<property name=””>属性注入。使用<value></value>来设置基本类型。使用<ref bean=””>或者<ref location=””>来引用引用值。后者表示引用的bean和被注入的bean在同一个文件内。<bean class=””>表示只使用一次的值。Bean的depends-on属性来指定实例本bean时必须实现依赖的bean。<null/>表示注入的值为null。
9、 Bean的autowire:值有byName(判断文件中是否有id值和需要被注入的属性值名相同的bean),byType(判断文件中是否有和被注入属性值类型相同的bean),前者未成功不会抛出异常。后者会。constructor(判断bena的构造函数的参数类型和文件中的bean的类型是否一致来进行装配,不常用)也会抛出异常。Autodetect先使用constructor,后使用byType。由于自动装配不能看出每个属性是否注入。可以使用bean的dependency-check来判断是否建立依赖关系:simple,objects,all,null。如果未建立依赖关系,则抛出异常。
10、 Bean的集合属性注入:<list></list>,<map><entry [key|key-ref]=”” [value|value-ref]=””/> </map>,<set></set>,<props><prop key=”” value=””></props>。如果集合值要被多次使用。则要使用id属性。所对应的class全部来自于org.springframework.beas.factory.config包中的类。格式为
<bean id=”” class=” org.springframework.beas.factory.config.***FactoryBean”>
<property name=”source***”>
<***>
</***>
</property></bean>。Properties属性还可以使用name=location value=””来制定属性文件。或者使用util标签。
<util:list id=”” [***-class=””]></util:list>
11、 <lookup-method name=”” bean=””>可以制定bean的某个方法产生新的方法并进行注入。
12、 Bean和容器的沟通:a、Aware接口:想bean中注入bean的相关信息。例如bean的id值,beanfactory,applicationContext等。分别对应org.springframework.beans.factory.BeanNameAware,BeanFactoryAware,ApplicationCtontextAware。b、BeanPostProcessor借口。可以在bean被建立和设置后修改相关的属性。c、BeanFactoryProcessor。在BeanFactory载入bean配置文件后,还没参数bean的时候。对BeanFactory进行一些修改。如果一个bean继承了BeanFactoryProcessor后,并在bean配置文件中配置。那么ApplicationContext会自动使用这些bean。实现子类包括:PropertyPlaceholderConfigurer和PropertyOverrideConfigurer(两个都是属性值替换)
分享到:
相关推荐
**Spring Ioc 实现原理详解** Spring Ioc(Inversion of Control,控制反转)是Spring框架的核心特性之一,它改变了传统应用程序中对象的创建和管理方式。在传统的软件设计中,对象的创建和依赖关系的维护通常由...
spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> destroy-method="close"> <value>org.gjt.mm.mysql.Driver <value>jdbc:mysql://localhost:3306/demo <value>root ...
Spring 框架是Java开发中的核心框架,它主要由两个关键部分组成:IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。这两个概念是Spring框架的核心特性,极大地简化了企业...
SpringIOC是Spring Framework中的核心组件之一,负责管理应用程序中的对象、依赖关系和生命周期。 在 Spring IOC 中,对象的创建和管理是通过 BeanFactory 或 ApplicationContext 实现的。BeanFactory 是 Spring ...
Spring IoC 加载流程讲解 在本节中,我们将对 Spring IoC 加载流程进行详细的讲解,并探讨 IoC 思想和依赖倒置原则的应用。 IoC 控制反转 IoC(Inversion of Control)是指在软件设计中,将对象实例的控制权从...
Spring IOC,全称Inversion of Control,即“控制反转”,是Spring框架的核心特性之一。在传统的Java应用程序中,对象的创建和管理通常由开发者自己控制。而在Spring IOC中,这种控制权被反转,对象的创建、初始化、...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理交给Spring容器来处理,从而使代码更加松耦合,更易于测试和维护。下面将详细介绍Spring IOC的基本概念、...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它极大地简化了Java应用的开发,通过将对象的创建和管理交由Spring容器来处理,开发者可以更专注于业务逻辑。下面,我们将深入探讨Spring IOC...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它将对象的创建和管理权交由Spring容器来负责,从而实现了依赖倒置,增强了代码的可测试性和可维护性。DI(Dependency Injection,依赖注入)...
Spring IoC,全称为Inversion of Control,即控制反转,是Spring框架的核心特性之一。它是一种设计模式,改变了传统程序中的对象创建和管理的方式,将对象的生命周期管理交由Spring容器来负责,使得代码更加解耦,...
Spring IOC,即Spring控制反转,是Spring框架的核心特性之一。控制反转(Inversion of Control,简称IoC)是一种设计原则,用于减少代码间的耦合,提高系统模块化和代码的重用性。在Spring框架中,IOC具体体现在对...
标题《Spring IoC源码深度剖析开源架构源码2021.pdf》和描述《Spring IoC源码深度剖析开源架构源码2021.pdf》表明该文档主要面向于分析Spring框架中控制反转(IoC)容器的核心源码,解析和理解其内部的工作机制及...
Java反射和Spring IOC是Java开发中的两个重要概念,它们在构建灵活、可扩展的应用程序时起着关键作用。本文将深入探讨这两个主题,并提供相关的学习资源。 首先,让我们了解一下Java反射。Java反射机制是Java语言的...
### Spring IoC与注解依赖注入详解 #### 一、Spring框架简介 Spring框架是由Rod Johnson创建的一个开源项目,最初是为了解决企业级应用开发中的复杂性问题而诞生的。Spring框架的核心特性包括IoC(Inversion of ...
在本资源"手写spring ioc(三) 资源org.zip"中,我们主要关注的是如何实现一个简易版的Spring IOC(Inversion of Control)容器,它涵盖了ioc的基本功能,包括解决循环依赖、使用构造器注入以及自动注入等核心特性。...
在Spring框架中,IOC(Inversion of Control,控制反转)是一种设计原则,它将对象的创建和管理职责从应用代码中分离出来,交由框架来处理。这样,开发者可以更专注于业务逻辑,而不是对象的生命周期。AOP(Aspect ...
springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC手写框架分析springIOC...
spring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demospring ioc模块手写demo...
**Spring 的 IoC 容器** IoC(Inversion of Control)即控制反转,是 Spring 的核心特性之一。在传统的编程模式中,对象之间存在依赖关系,程序员需要手动创建和管理这些对象。而在 Spring 中,IoC 容器负责管理和...