我想知道将Spring bean的私有属性标记为static
是否有充分的理由?让我们考虑以下
@Component
public class SomeSpringBean {
private Map<String, String> myMap = new HashMap<>();
public String doSomeCalculations() {
//some logic, getting values from map, doing some calculations
return someVal;
}
}
当然,Spring bean是一个单例,为什么我将myMap标记为static
?我在很多项目中都看到了这个,但找不到合理的理由。
答案 0 :(得分:3)
我能想到这样做的唯一原因是让没有经验的开发人员明白只有一个变量实例。然而,Spring Beans不一定是单身,所以这会破坏一些bean的定义。
因此,我认为这是不好的做法并避免使用它。