方法一:
使用靜態變量 加 @PostConstruct 解決。
@Component //關鍵1
public class ArticlesReceiver {
@Resource
private WechatArticlesTempService wechatArticlesTempService;
public static ArticlesReceiver articlesReceiver; //關鍵2
@PostConstruct //關鍵3
public void init(){
articlesReceiver = this;
}
public WechatArticlesTemp getResposeArticlesBoby(String mediaId) {
WechatArticlesTemp articlesTemp = articlesReceiver.wechatArticlesTempService.getById(mediaId); //關鍵4
return articlesTemp ;
}
}
方法二:
使用靜態變量,加set注入
@Component //關鍵1
public class ArticlesReceiver {
private static WechatArticlesTempService wechatArticlesTempService; //關鍵2
@Autowired //關鍵3
public void setWechatArticlesTempService (WechatArticlesTempService wechatArticlesTempService){
ArticlesReceiver.wechatArticlesTempService = wechatArticlesTempService;
}
public WechatArticlesTemp getResposeArticlesBoby(String mediaId) {
WechatArticlesTemp articlesTemp = wechatArticlesTempService.getById(mediaId); //關鍵4
return articlesTemp ;
}
}
方法三:
代碼注入 , SpringContectHolder類將用到的類的class讀入讓后再調用類中方法
@Component //關鍵1
public class ArticlesReceiver {
private static WechatArticlesTempService wechatArticlesTempService = SpringContextHolder.getBean(WechatArticlesTempService.class); //關鍵2
public WechatArticlesTemp getResposeArticlesBoby(String mediaId) {
WechatArticlesTemp articlesTemp = wechatArticlesTempService.getById(mediaId); //關鍵3
return articlesTemp ;
}
}
