这不是一个问题,而是一个好/坏实践问题。 请参阅下面的代码...
为什么我在 Spring 实例化的组件中经常看到静态常量(以及记录器)?
这是我的推理(正确吗?)
1/Spring 将我的类实例化为单例
2/所以,静态方法绝对没有用(此外,Spring Autowiring 的字段系统上都是非静态字段
3/所以,静态字段是没有用的,因为我所有的方法都将是实例方法。
所以,好的静态常量可以被实例方法使用,但绝对没有用!
@Component
public class Fac {
private static final String ROLE_TARGET = "target";
@Resource
private Mapper mapper;
@PostConstruct
public void init() {
Map<String, Boolean> roles = new HashMap<>();
roles.put(ROLE_TARGET, Boolean.TRUE);
}
//other methods below..
}
最佳答案
常量和其他方法如 getLogger
不受 Spring 控制,
因此,如果它适合您的应用程序(并且每个应用程序都有常量)并且可以与 Spring 一起工作,那么它可以是静态的
关于java - 为什么我在 Spring 实例化的组件中找到静态字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57647927/