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),那么还是要在注入实例后调用一下的。
  • 相关阅读:
    spring security几大核心组件
    什么是CSRF攻击?如何避免?
    MyBatis+Oracle实现主键自增长的几种常用方式
    fastjson在将Map<Integer, String>转换成JSON字符串时,出现中文乱码问题
    Layui我提交表单时,table.reload(),表格会请求2次,是为什么?
    Jquery+ajax模板
    HttpServletRequest和ServletRequest的区别
    java技术基础
    mysql数据库基础
    linux基础03
  • 原文地址:https://www.cnblogs.com/wyp1988/p/14340290.html
Copyright © 2011-2022 走看看