依赖注入可以这么理解,就是一个盒子预先注入了很多服务。
用户每次HTTP请求都会从盒子里拿相关服务(即实例),都是新的服务(Singleton的服务除外),然后当前请求进入某个controller中某个方法体内进行操作。
在这个方法体内或之间,如果再次向盒子要服务,这样就会出现三种情况:
1. Singleton的服务,每次拿都一样,无论那次请求
2. Scoped的服务,也是每次拿都一样,但只局限在本次请求中
3. Transient的服务,即每次拿都不一样

 

依赖注入的 Singleton、Scoped、Transient

盒子的作用:

盒子获得了服务的控制权,即控制反转(Ioc),服务不再由程序主动去创建了,而是在盒子里注册。

盒子能主动使用已经注册的服务,为依赖服务的类进行实例注入,即依赖注入(DI)。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2021-11-29
  • 2021-07-15
  • 2021-10-07
猜你喜欢
  • 2022-03-06
  • 2022-01-16
  • 2021-08-20
  • 2022-12-23
  • 2022-03-03
  • 2021-06-22
相关资源
相似解决方案