简介
我们知道IOC容器
是进行系统解耦行之有效的架构设计,也是应对大型业务系统开发的支撑工具
IOC容器
在 Vona 中有两类 ioc 容器:
全局ioc容器
(简称为 app 容器):在系统初始化时,会自动创建唯一一个全局 ioc 容器。在这个容器中创建的 Bean 实例都是全局级别
的单例模式请求ioc容器
(简称为 ctx 容器):在响应请求时,系统会为每一个请求的上下文环境(ctx)创建一个 ioc 容器。在这个容器中创建的 Bean 实例是请求级别
的单例模式
Bean Class
Vona 采用模块化体系,Bean Class 都由不同的模块提供。注入模块内部的 Bean 时可以直接基于Class类型
解析。在跨模块注入时可以基于Bean标识
解析,而不是基于Class类型/文件路径
解析,这样有利于实现模块之间的松耦合
注入范围
Vona 提供了以下几种注入范围:
app
:在 app 容器中注入ctx
:在 ctx 容器中注入new
:总是创建一个新的 bean 实例
注入方式
Vona 提供了两种注入方式:
依赖注入
:通过@Use
装饰器提供基于属性的依赖注入依赖查找
:直接通过 ioc 容器查找所需要的 bean 实例,如果没有就自动创建