本人的繼承類引用了 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