Spring IOC容器
2、1基本原理:bean与容器
1、bean
在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述
2、容器
org.springframework.beans.factory.BeanFactory是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。
在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
Spring为我们提供了许多易用的BeanFactory实现, XmlBeanFactory就是最常用的一个。该实现将以XML方式描述组成应用的对象 以及对象间的依赖关系。XmlBeanFactory类将获取此XML配 置元数据,并用它来构建一个完全可配置的系统或应用
从上图可以看到,Spring IoC容器将读取配置元数据; 并通过它对应用中各个对象进行实例化、配置以及组装。通常情况下我们使用简单直观的XML来作为配置元数据的描述格式。在XML配置元数据中我们可以对那些我们希望通过 Spring IoC容器管理的bean进行定义。
Spring IoC容器至少包含一个bean定义,但大多数情况下会有多个bean定义。当使用基于XML的配置元数据时,将在顶层的<beans/>元素中配置一个 或多个<bean/>元素。
bean定义与应用程序中实际使用的对象一一对应。通常情况下bean的定义包括:服务 层对象、数据访问层对象(DAO)、类似Struts Action的 表示层对象、Hibernate SessionFactory对象、JMS Queue对象等等。通常bean的定义并不与容器中的领域 对象相同,因为领域对象的创建和加载必须依赖具体的DAO和业务逻辑。
以下是一个基于XML的配置元数据的基本结构
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="..." class="...">
<bean id="..." class="...">
</beans>
以上内容归redarmy_chen创建,如需转载请附带出处。如有疑问请发送邮件至redarmy_chen@qq.com
分享到:
相关推荐
spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>...
<br>=======================<br>步骤:<br>1:配置hibernate,生成po和映射文件 ok<br>2:制作dao,测试 ok <br>3:制作service,测试 ok<br>4:加入Spring IoC,测试 ok<br>5:加入AOP,测试 ok<br>6:加入Struts...
<br>Spring源代码解析4:Spring MVC ;Spring源代码解析5:Spring AOP获取Proxy;Spring源代码解析6:Spring声明式事务处理 ;<br>Spring源代码解析7:Spring AOP中对拦截器调用的实现 Spring源代码解析8:Spring驱动...
<br>第一个 Spring 程式 <br>BeanFactory、 ApplicationContext <br>Type 2 IoC、Type 3 IoC <br>属性参考 <br>自动绑定 <br>集合物件注入 <br>Bean 的生命周期 <br>Bean 进阶管理 <br>理想上对于 Bean 来说,它不...
在Java开发领域,Spring框架是不可或缺的一个部分,它以其强大的依赖注入(IoC)和面向切面编程(AOP)功能而闻名。本实验聚焦于Spring IoC中的Bean装置,这是理解Spring框架核心机制的关键。我们将通过分析指定的...
2. 配置 applicationContext.xml 文件:applicationContext.xml 文件是 Spring IOC 的核心配置文件,用于定义 beans 和依赖关系。在这个文件中,需要定义bean,例如 userDao 和 userService,并配置它们之间的依赖...
<br>Spring源代码解析4:Spring MVC ;Spring源代码解析5:Spring AOP获取Proxy;Spring源代码解析6:Spring声明式事务处理 ;<br>Spring源代码解析7:Spring AOP中对拦截器调用的实现 Spring源代码解析8:Spring驱动...
<br>========================================================================<br><br>第1篇 概述<br>第1章 Spring概述<br>第2章 快速入门<br>第2篇 Spring核心技术<br>第3章 IoC容器概述<br>第4章 在IoC容器中...
<br>========================================================================<br><br>第1篇 概述<br>第1章 Spring概述<br>第2章 快速入门<br>第2篇 Spring核心技术<br>第3章 IoC容器概述<br>第4章 在IoC容器中...
<br>========================================================================<br><br>第1篇 概述<br>第1章 Spring概述<br>第2章 快速入门<br>第2篇 Spring核心技术<br>第3章 IoC容器概述<br>第4章 在IoC容器中...
观察者模式 Observer:Swing中的事件模型<br>工厂模式 Factory:在JDK中遍地都是,比如JDBC、JNDI等,是...Strategy:java.util.Comparator就用到了它<br>代理模式 Proxy:学习Spring IoC容器必须掌握的模式<br><br>
**二、Spring Ioc容器** Spring Ioc容器是整个Spring框架的基石,它负责创建、配置和管理对象。容器通过读取XML、Java注解或Java配置类等方式,获取对象的定义信息,然后根据这些信息实例化对象并进行依赖注入。 *...
<artifactId>spring-context</artifactId> <version>${springframework.version}</version> </dependency> propertities标签里面加上version信息: <springframework.version>3.2.0.RELEASE</springframework....
<artifactId>spring-context</artifactId> <version>5.3.22</version> </dependency> </dependencies> ``` 2. **构建Spring的配置文件**: - 创建一个名为`Beans.xml`的配置文件,用于声明Bean的定义,其中...
<artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> <!-- Spring Beans --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</...
1. **Bean定义**:在Spring中,一个Java类可以被声明为一个Bean,这可以通过XML配置文件中的`<bean>`标签实现,或者使用`@Component`、`@Service`、`@Repository`、`@Controller`等注解。Bean定义包含了类名、属性值...
1. Spring IOC依赖项,例如:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.12.RELEASE</version> </dependency> 2. JUnit依赖项,例如:<dependency...
<artifactId>spring-context</artifactId> <version>5.x.x.RELEASE</version> </dependency> </dependencies> ``` 确保替换`5.x.x.RELEASE`为当前最新的Spring版本号。 在项目结构方面,Maven有标准的目录结构...
<artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> ``` - 提供了对ORM框架的支持,如Hibernate。 5. **Spring JDBC**: ```xml <dependency> <groupId>org.spring...
- **XML配置**:早期Spring主要通过XML文件定义Bean及其依赖,如`<bean>`标签用于定义一个Bean,`<property>`标签用于设置属性值。 - **注解配置**:随着Java注解的发展,Spring引入了@Component、@Service、@...