gpt4 book ai didi

java - spring中使用xml注入(inject)依赖为什么需要setter?

转载 作者:行者123 更新时间:2023-12-01 16:13:39 25 4
gpt4 key购买 nike

众所周知,在Spring中,我们可以通过两种方式注入(inject)字段:setter(xml)和@Autowired。
通过使用@Autowired,我们不需要编写setter。我们可以通过反射来注入(inject)字段。

那么我的问题是:
为什么我们还需要XML方式的setter?
为什么Spring不直接通过反射注入(inject)字段?

最佳答案

因为 Spring Bean 构建在 JavaBean 规范之上,该规范将属性定义为配对 public getter/setter 方法遵循命名约定。因此使用 <property>在 XML 文件中。

@Autowired允许在非 public 上使用成员,因此支持非 JavaBean 语义。没有 getter/setter 方法的私有(private)字段不是“属性”,它只是一个实例变量。

关于java - spring中使用xml注入(inject)依赖为什么需要setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62461797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com