gpt4 book ai didi

java - 我应该为@Autowired 提供一个 setter 吗

转载 作者:IT老高 更新时间:2023-10-28 13:58:17 25 4
gpt4 key购买 nike

我在我的项目中使用 Spring 3.0.x。我目前使用 @Autowired 的做法示例如下:


@Autowired
private SomeType someMemberVariable;

使用 setter 方法是否更好和/或更受欢迎?我的意思是:


private SomeType someMemberVariable;

@Autowired
private void setSomeMemberVariable(SomeType newValue)
{
someMemberVariable = newValue;
}

我理解可变和不可变的 setter ,这超出了这个问题的范围。

最佳答案

我在使用 @Autowired 时没有使用 setter - 它添加了样板代码。

每当我需要在单元测试中设置依赖项时,我都会使用 ReflectionTestUtils.setField(..) - 作为 setter,它在编译时不安全,但我没有太多麻烦了。

作为旁注,如果使用 spring 3.0,您可以开始使用 @Inject 而不是 @Autowired

关于java - 我应该为@Autowired 提供一个 setter 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147519/

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