`
- 浏览:
1193347 次
-
Spring FrameWork 总结-- 容器和bean
容器;
org.springframework.beans.factory.BeanFactory 是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。
在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
实例化容器:Spring IoC容器的实例化非常简单,如下面的例子:
bean:
有时我们期望 能在当前位置为那些在别处定义的bean引入别名。在XML配置文件中,可用 <alias/> 元素来完成bean别名的定义。如:
<alias name="fromName" alias="toName"/>
这里如果在容器中存在名为fromName的bean定义, 在增加别名定义之后,也可以用toName来引用。
考虑一个更为具体的例子,组件A在XML配置文件中定义了一个名为 componentA-dataSource的DataSource bean。但组件B却想在其XML文件中 以componentB-dataSource的名字来引用此bean。而且在主程序MyApp的XML配 置文件中,希望以myApp-dataSource的名字来引用此bean。最后容器加载三个 XML文件来生成最终的ApplicationContext,在此情形下,可通过在MyApp XML 文件中添加下列alias元素来实现:
这样一来,每个组件及主程序就可通过唯一名字来引用同一个数据源而互不干扰。
实例化bean的方式:
从本质上来说,bean定义描述了如何创建一个或多个对象实例。当需要的时候, 容器会从bean定义列表中取得一个指定的bean定义,并根据bean定义里面的配置元数据 使用反射机制来创建(或取得)一个实际的对象。
class属性主要有两种用途 :在大多数情况下,容器将直接通过反射调用指定类的构造器来创建bean(这有点类似于 在Java代码中使用new操作符);在极少数情况下,容器将调用 类的静态工厂方法来创建bean实例,class 属性将用来指定实际具有静态工厂方法的类(至于调用静态工厂 方法创建的对象类型是当前class还是其他的class则无关紧要)。
1.用构造器来实例化
2.使用静态工厂方法实例化
当采用静态工厂方法创建bean时,除了需要指定class 属性外,还需要通过factory-method属性来指定创建bean实例 的工厂方法。Spring将调用此方法(其可选参数接下来介绍)返回实例对象,就此而言, 跟通过普通构造器创建类实例没什么两样。
下面的bean定义展示了如何通过工厂方法来创建bean实例。注意,此定义并 未指定返回对象的类型,仅指定该类包含的工厂方法。在此例中, createInstance()必须是一个static方法。
给工厂方法指定参数以及为bean实例设置属性将在随后的部份中谈及。
3.使用实例工厂方法实例化
与 使用静态工厂方法实例化类似,用来进行实例化的非静态实例工厂方法位 于另外一个bean中,容器将调用该bean的工厂方法来创建一个新的bean实例。为使 用此机制,class属性必须为空,而factory-bean 属性必须指定为当前(或其祖先)容器中包含工厂方法的bean的名称,而该 工厂bean的工厂方法本身必须通过factory-method属性来设定。
备注:
Spring IoC容器可以通过多种途径来加载配置元数据,比如本地文件 系统、Java CLASSPATH
等。
Q1:Spring 获得bean的方法?
http://blog.csdn.net/wwbmyos/article/details/6969315
Q2:Spring IOC 容器实例化的方式?
http://blog.csdn.net/wwbmyos/article/details/6969340
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
其中,有4个是Spring的基础包,对应Spring核心容器的4个模块,是Spring项目必需的: spring-core-5.1.8.RELEASE.jar //Spring的核心工具类,其它jar包是建立这个包基础上的,都要用到这个包中的类。 spring-beans-...
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个...
- 什么是Spring Framework? - Spring的优缺点 - Spring的优点 - Spring的缺点 - Spring 主要提供了哪些模块? - Spring主要使用了哪些设计模式? - Spring IOC容器的配置方式有哪些? - BeanFactory和...
Spring TestContext Framework集成测试 SpringMVC基础 Spring MVC概述 SpringMVC项目快速搭建 构建Maven项目 日志配置 演示页面 Spring MVC配置 Web配置 简单控制器 运行 Spring MVC...
<bean class="org.springframework.web.servlet.mvc.annotation. AnnotationMethodHandlerAdapter"/> <!-- ③:对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web....
<bean id="temperMonitorTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <ref bean="temperMonitorTimerJob"/> <!-- 调用类中的方法 --> ...
提供了Spring容器的支持,扩展了BeanFactory,提供了Spring中Bean生命周期的支持,在bean创建完成之后, 也是由该模块负责来维护bean和bean之间的依赖关系。常用的ApplicationContext核心接口也是该模块中所支持的;...
Spring 2.5的 'spring-tx.jar' 取代了 'spring-dao.jar' 和'spring-jca.jar' 文件,表达其对transaction framework的强烈关注。 Spring 2.5 将其jar文件直接作为OSGi兼容的bundle。这使得在OSGi环境中使用Spring ...
您将学到什么您将学习Spring框架的基础知识-依赖注入,IOC容器,应用程序上下文和Bean工厂。 您将了解如何使用Spring注释-@ Autowired,@ Component,@ Service,@ Repository,@ Configuration,@ Primary...。 您...
E:\2017下学期\spring-framework-5.0.5.RELEASE-dist\spring-framework-5.0.5.RELEASE\docs\spring-framework-reference 找到了,一个bean,一个context 2.2 spring配置文件,导入beans和database 2.3 spring-...
spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...
提取了Spring的核心逻辑,极大地简化了代码,并完善了Spring的核心功能,例如IoC和AOP,资源加载器,事件侦听器,类型转换,容器扩展点,Bean生命周期和作用域以及应用程序上下文,被保留。 如果这个项目可以为您...
这会将bean定义的范围限定为每个Spring IoC容器一个实例(默认)。 原型 这将单个bean定义的范围限定为具有任意数量的对象实例。 要求 这将bean定义的范围限定为HTTP请求。 仅在可感知网络的Spring ...
有两种格式,一种和jdk的api一样,另一种是PDF格式,pdf部分目录如下: 即Spring框架的概述 1。 介绍Spring框架 1.1。 依赖注入和控制反转 1.2。... 这个控制反转(IoC)容器 基于Java bean的元数据 元数据定义bean组件内
2.5 使用Spring IDE的Bean-supporting特性 2.5.1 问题描述 2.5.2 解决方案 2.5.3 实现方法 2.6 小结 第3章 Spring中的Bean配置 3.1 在Spring IoC容器里配置Bean 3.1.1...
还了解依赖注入如何与Spring,IoC容器,具有@ Component,@ Configuration和@Bean的bean定义,注入点,与@ Primary,@ Qualifier和自定义注释进行歧义消除一起工作。 使用Spring概要文件,按概要文件配置...
2.5 使用Spring IDE的Bean-supporting特性 2.5.1 问题描述 2.5.2 解决方案 2.5.3 实现方法 2.6 小结 第3章 Spring中的Bean配置 3.1 在Spring IoC容器里配置Bean 3.1.1...
AnnotationBeanScopeDemoApp显示Bean的范围(Singleton和Prototype) 注解 它们是添加到java类的特殊标签/标记。 他们提供有关课程的元数据, 它们可以在编译时或运行时进行处理 开发过程 在Spring配置文件中启用...
2.5 使用Spring IDE的Bean-supporting特性 2.5.1 问题描述 2.5.2 解决方案 2.5.3 实现方法 2.6 小结 第3章 Spring中的Bean配置 3.1 在Spring IoC容器里配置Bean 3.1.1 问题...