Skip to content

简介

我们知道IOC容器是进行系统解耦行之有效的架构设计,也是应对大型业务系统开发的支撑工具

IOC容器

在 Vona 中有两类 ioc 容器:

  1. 全局ioc容器(简称为 app 容器):在系统初始化时,会自动创建唯一一个全局 ioc 容器。在这个容器中创建的 Bean 实例都是全局级别的单例模式
  2. 请求ioc容器(简称为 ctx 容器):在响应请求时,系统会为每一个请求的上下文环境(ctx)创建一个 ioc 容器。在这个容器中创建的 Bean 实例是请求级别的单例模式

Bean Class

Vona 采用模块化体系,Bean Class 都由不同的模块提供。注入模块内部的 Bean 时可以直接基于Class类型解析。在跨模块注入时可以基于Bean标识解析,而不是基于Class类型/文件路径解析,这样有利于实现模块之间的松耦合

注入范围

Vona 提供了以下几种注入范围:

  1. app:在 app 容器中注入
  2. ctx:在 ctx 容器中注入
  3. new:总是创建一个新的 bean 实例

注入方式

Vona 提供了两种注入方式:

  1. 依赖注入:通过@Use装饰器提供基于属性的依赖注入
  2. 依赖查找:直接通过 ioc 容器查找所需要的 bean 实例,如果没有就自动创建

基于 MIT 许可发布