zoukankan      html  css  js  c++  java
  • Spring 依赖注入

    未使用Spring之前,可以这样管理两个类之间的依赖关系:

    public class TextEditor {
       private SpellChecker spellChecker;  
       public TextEditor() {
          spellChecker = new SpellChecker();
       }
    }

    带来的问题是,SpellChecker的实现类与TextEditor的使用类耦合在一起了,如果变换了一种SpellChecker的实现方式,需要同步修改TextEditor的代码,不利于单元测试、也不利于后期功能的扩展

    解决方式是解耦,即将TextEditor主动new SpellChecker的地方,转成被动的获取,通过暴露对外方法,来将具体的实现类对象传入TextEditor中,实现方式有两种:

    一种是通过TextEditor的构造方法,在初始化TextEditor时将依赖传入:

    public class TextEditor {
       private SpellChecker spellChecker;
       public TextEditor(SpellChecker spellChecker) {
          this.spellChecker = spellChecker;
       }
    }

    另一种方式是通过set方法来实现。这也是在使用Spring的过程中常用的方式,将依赖关系委托给Spring容器来管理

  • 相关阅读:
    Linux配置环境变量
    入坑CV DL一些基础技能学习
    (Linux)初探cmake .和make命令
    Django rest framework 之分页
    Django rest framework 之版本
    通用权限框架
    堡垒机
    kingadmin
    CRM 客户关系管理系统
    Torando 入门
  • 原文地址:https://www.cnblogs.com/aligege/p/10653747.html
Copyright © 2011-2022 走看看