字段注入如何破坏不变性

pjj*_*pjj 5 java spring

我读到(例如此处),如果我使用字段依赖项注入,那么我无法创建不可变对象,但我不明白字段依赖项注入如何破坏不可变性,我可以执行如下操作可以创建不可变对象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...

}
Run Code Online (Sandbox Code Playgroud)

更新:请注意,我的问题特别是关于字段注入破坏不变性,所以我想知道我的上面的代码片段(自我最初的问题以来发生了变化,感谢@Andy和其他人纠正它)是如何破坏不变性的,我认为事实并非如此,所以我认为这个关于字段注入不变性的答案是错误的。

And*_*ner 4

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

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