Spring Core /01 IoC 容器 / IoC 容器 和 Beans 介绍

下一篇:Spring Core /02 IoC 容器 / 容器总览

样例代码:Spring Core Sample

参考:The IoC Container


Spring Core 概览

在 Spring 框架的所有技术中,最重要的就是 Spring 的 IoC 容器

与 Spring IoC 容器紧密联系的 AOP 技术,是对 IoC 容器的深度应用
即:IoC 容器在创建对象时,实际创建的是一个代理对象
代理对象除了完成原对象的功能外,还加入了 AOP 切面的功能

Spring 框架提供了自己的 AOP 框架,可以满足大部分企业应用场景

Spring 还可以集成 AspectJ(一个 AOP 框架,是目前最成熟的一个 AOP 实现,拥有丰富的特性)

1. Spring IoC 容器和 Bean 介绍

IoC(Inversion of Control)控制反转是一个编程原则
这个原则有时也被称为 DI(dependency injection)依赖注入
根据 IoC 原则,对象只能通过下边几种方式来定义它们的依赖(即:与其一起工作的其它对象)

  1. 构造器参数
  2. 工厂方法参数
  3. 在对象完成构造之后,或被工厂方法返回之后,再进行设置的属性(Setter 方法设置)

容器在创建完成 Bean 之后再为其注入依赖
这个过程从根本上和 Bean 自己控制实例化或者直接通过类构造器或 Service Locator 这类的机制来定位自己的依赖相反
所以叫做控制反转

org.springframework.beansorg.springframework.context 包,是 Spring 框架 IoC 容器的基础
BeanFactory 接口提供了一种先进的配置机制,可以管理任何类型的对象
ApplicationContextBeanFactory 的子接口,它添加了下面这些特性:

  1. 更容易集成 Spring 的 AOP 特性
  2. 处理消息资源(国际化)
  3. 事件发布
  4. 支持特定的应用层上下文,例如为 Web 应用使用的 WebApplicationContext

BeanFactory 提供了配置框架和基础功能,而 ApplicationContext 添加了更多的企业特定功能

在 Spring 中,对象就是应用的核心
一个 Bean 就是一个被实例化、装配后,被 Spring IoC 容器管理起来的对象
这些 Bean 以及它们的依赖,都在容器使用的配置元数据(configuration metadata)中被反射

2. AOP 介绍

AOP(Aspect-Oriented Programming)面向切面编程
把与多个对象正交的功能提取出来放到一个切面对象中
所谓正交,就是说,这个功能有很多对象都需要用到,就像一个与这些对象都有交点的平面一样
但是这些功能又不是这些对象的关注点,所以应该被分离出来


下一篇:Spring Core /02 IoC 容器 / 容器总览

样例代码:Spring Core Sample

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值