@autowired on method in 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;
}
// ...
}
因此,在此处,movieCatalog 和 customerPreferenceDao 字段自动使用 mC 和 cPD 的值.我不明白的是,这与没有@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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:@autowired on 方法在 Spring
基础教程推荐
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
