對於一個單例類按照平時的注解方式添加,啟動時會報空指針異常,因為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; } }