passerbytiny
2020-03-02 10:03:54 +08:00
逐条回复:
1、getter setter 不是规范,是封装——面向对象编程基本元素——的要求;各大框架从来也没用 getter setter 来构造 bean,而是用它们来做序列化 /反序列化。
2、Spring 从来都没在意过 getter setter,setter 只是其推荐的其中一种注入方式;以及,直接在字段上注入的方式,并不是 Spring 推荐的注入方式。
3、请参见第一条,getter setter 是用来做封装的,不是用来写业务逻辑的,因此它必定绝大多数情况下都保持默认即可;大多数人不用,不代表没有人不会用。
因为是面向对象编程基本元素的要求,所以虽然已经众人烦了,但是没人敢让它消失。现在只能,先用 lombok 临时顶着。Lombok、C#“属性”都很好用,但是从来没有被 JCP 接纳过,以后被接纳的可能性也不太大(大概这种编译擦除的方式,争议性太大)。