gpt4 book ai didi

java - 字段注入(inject)如何破坏不变性

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:51 27 4
gpt4 key购买 nike

我读到(例如 here )如果我使用字段依赖注入(inject)那么我不能创建不可变对象(immutable对象),但我不明白字段依赖注入(inject)如何破坏不可变性,我可以做类似下面的事情可以创建不可变 SpringTest,不是吗?

@Component
public final class SpringTest {

@Autowired
private Person person;

// here I will have no setter methods exposing "person" object but will only have getter methods for "person" object, ensuring defensive copying etc...

}

更新:请注意,我的问题具体是关于打破不变性的字段注入(inject),所以我想知道我的上述代码片段( self 最初的问题以来发生了变化,感谢@Andy 和其他人的帮助纠正它)打破了不变性,我认为不是,所以我认为 this answer关于字段注入(inject)的不变性是错误的。

最佳答案

它是可变的,因为您可以自己重新分配该字段(或从同一包中的任何其他类)。

仅仅打算不重新分配字段与不能这样做是不一样的。

关于java - 字段注入(inject)如何破坏不变性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49494575/

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