Spring-基于构造函数的依赖注入

Posted 起床oO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring-基于构造函数的依赖注入相关的知识,希望对你有一定的参考价值。

Spring基于构造函数的依赖注入

当容器调用带有一组参数的类构造函数时,基于构造函数的DI就完成了,其中每个参数代表一个对其他类的依赖。

TextEditor.java文件的内容:

package com.tuorialsponit;

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

下面是另一个依赖类文件SpellChecker.java内容

package com.tuorialsponit;

public class SpellChecker {
    public SpellChecker(){
        System.out.println("Inside SpellChecker constructor.");
    }
    
    public void checkSpelling(){
        System.out.println("Inside checkSpelling.");
    }
}

以下是MainApp.java文件的内容

public class MainApp {
    public static void main(String[] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//    
        TextEditor textEditor = (TextEditor) context.getBean("textEditor");
        textEditor.spellCheck();
    }
}

下面是配置文件Beans.xml的内容,它有基于构造函数注入的配置:

<bean id="textEditor" class="com.tuorialsponit.TextEditor">
         <constructor-arg ref="spellChecker"></constructor-arg>
     </bean>
     
     <bean id="spellChecker" class="com.tuorialsponit.SpellChecker">
     </bean>

运行结果:

 

以上是关于Spring-基于构造函数的依赖注入的主要内容,如果未能解决你的问题,请参考以下文章

Java框架spring Boot学习笔记:基于构造函数的依赖注入

Spring-基于设置函数的依赖注入

7.Spring——依赖注入

Spring 在没有 @Autowired 注释的构造函数中注入依赖项

Java程序员必须掌握的Spring依赖管理原理

Spring依赖注入构造器注入(通过构造函数注入)