假设我在Spring单例bean中做了一些初始化@PostConstruct(简化代码):
@Service
class SomeService {
public Data someData; // not final, not volatile
public SomeService() { }
@PostConstruct
public void init() {
someData = new Data(....);
}
}
Run Code Online (Sandbox Code Playgroud)
我应该担心someData其他豆类的可见性并标记它volatile吗?
(假设我无法在构造函数中初始化它)
第二种情况:如果我覆盖了值@PostConstruct(例如在构造函数中进行显式初始化或初始化之后),那么写入@PostConstruct 将不会首先写入此属性?