Failed to instantiate [引用 spring 配置文件的類]: Constructor threw exception; nested exception is java.l...

本人的繼承類引用了 service 層的方法,用的註解方式是@Autowiredjava

該註解若是在容器 tomcat 啓動後引用後不會報錯,不會報 java.lang.NullPointerException 錯誤。數據庫

初始化時若是想調用數據庫的數據,而此時 service 層的類沒有實例化,致使 tomcat 啓動時報空指針錯誤。緩存

解決辦法:tomcat

@Component
public class MessageResource extends AbstractMessageSource implements ResourceLoaderAware
{
@Autowired
private TsLanguageTestService tsLanguageTestService;

private static MessageResource util;

/**
* Map切分字符
*/
protected final String MAP_SPLIT_CODE = "|";
private final Map<String, String> properties = new HashMap<String, String>();

/**
* 初始化數據,把數據庫裏的國際化都讀入緩存的Map裏
*/
@PostConstruct
public void init() {
util = this;
util.tsLanguageTestService = this.tsLanguageTestService;
}
}

主要是 init() 方法和@PostConstruct 註解,這樣 tomcat 啓動時就會把@Autowired註解的類實體化this

相關文章
相關標籤/搜索