對於一個單例類按照平時的注解方式添加,啟動時會報空指針異常,因為static類對象是創建對象后,內存中還沒有注入Bean信息,且無法初始化Bean實例,這里的解決辦法是利用@PostConstruct來對單例類中對象的注入。
@Component
public class DBManager {
private static DBManager instance = new DBManager();
@Autowired
public UserServiceImpl userService;
private DBManager() {
}
public static DBManager getInstance() {
return instance;
}
@PostConstruct
public void init() {
instance = this;
instance.userService = this.userService;
}
}
