@autowired on 方法在 Spring

@autowired on method in Spring(@autowired on 方法在 Spring)
本文介绍了@autowired on 方法在 Spring的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在学习 Spring,据我了解,当我们在具有通用名称的方法(不是 setter 方法)上使用 @annotation 时,方法的参数是自动装配的.

I am learning Spring, and as far as I understand, when we use @annotation on a method which has a generic name (not a setter method), then the method's arguments are autowired.

public class MovieRecommender {

    private MovieCatalog movieCatalog;

    private CustomerPreferenceDao customerPreferenceDao;

    @Autowired
    public void prepare(MovieCatalog mC,
            CustomerPreferenceDao cPD) {
        this.movieCatalog = mC;
        this.customerPreferenceDao = cPD;
    }

    // ...

}

因此,在此处,movieCatalogcustomerPreferenceDao 字段自动使用 mCcPD 的值.我不明白的是,这与没有@autowired"的相同方法有何不同.

So, here, the fields movieCatalog and customerPreferenceDao are autowired with the values of mC and cPD. What I fail to understand is how is this different from the same method without the "@autowired".

我理解 @autowired 应用于字段名称时,但无法理解值何时显式传递给方法(setter 或任何其他方法),那么 Spring 有什么特别之处?

I understand @autowired when applied to a Field name, but not able to understand when the values are explicitly being passed to the method (either a setter or any other method), then what does Spring do special?

推荐答案

答案很晚,但这里是:

任何用 @Autowired 注释的方法都是配置方法.字段注入完成后,在 bean 实例化时调用它.方法的参数在调用时注入到方法中.

any method annotated with @Autowired is a config method. It is called on bean instantiation after field injection is done. The arguments of the method are injected into the method on calling.

这篇关于@autowired on 方法在 Spring的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)