zoukankan      html  css  js  c++  java
  • 3. 技术专题

    • 过程
      • 定义依赖关系(定义当前调用者需要注入哪些对象)
        • 通过构造函数注入
          • 比如angular和ASP.NET Core,可以在使用者的构造函数的参数列表中定义依赖哪些类
            • 不论是angular/nodejs/ASP.NET,现在流行的现代的注入方式,都是通过构造函数中定义的参数列表来一层层自动注入
        • 通过成员变量注入
          • 比如Spring,可以在调用者的类定义中,通过@Autowire定义哪些成员对象是需要被注入的
      • 在某些地方定义一些接口在实际使用时,应该注入什么对象实例
        • Spring中,在Config类中,通过命名等匹配方式,定义应该注入什么对象及其构造过程
        • ASP.NET Core中,在Startup.cs的ConfigureServices()中,通过services.Add Singleton(),services.AddTransient()等定义注入(注入Swagger等第三方库,底层其实也是调的这两个函数)。
        • Angular中,所有的Service类都默认作为可注入的对象,只要在调用者的构造函数中指明注入即可
      • 入口
        • 调用接口时注入
          • 会自动注入接口所需要的前面已经预定义好的类
        • 程序启动时注入。
          • Spring
            • 可以通过@Component+@Scheduled指定开机启动的定时任务
              • 其中可以调用通过@Service+@Async定义的异步任务
          • ASP.NET Core
            • 实现IHostedService接口,并在Startup.cs的ConfigureServices()中,通过services.AddHostedService()定义注入。
            • 在Startup.cs的Configure()参数列表中列出。当然,如果该类中定义了Start函数(比如message queue的consumer),那么还是要在注入实例后调用一下的。
  • 相关阅读:
    UNIX网络编程--学习日记
    VC下ffmpeg例程调试报错处理
    Cholesky Decomposition
    [置顶] ORM框架Hibernate (二) 对象到关系多对一映射
    [置顶] rails2 升级到 rails3 过程详细记录
    python 连接MYSQL数据库(入门帖)
    【PAT】1005 Spell It Right
    Eclipse & MyEclipse下常用快捷键介绍
    HDU 2544
    你如何只用一个数组实现三个栈?
  • 原文地址:https://www.cnblogs.com/wyp1988/p/14340290.html
Copyright © 2011-2022 走看看