繼承WechatSupport類spring不能加註入:
繼承了WechatSupport後的java類中是不能加@Component、@Service、@Controller、@Repository註解的、所以不能直接使用spring依賴注入。
我之前遇到這個問題是另外新建一個類,在新建的類中實現所需要的注入,然後在繼承了WechatSupport類的類中調用新建類中的注入屬性。
(注意:在注入類中的屬性要加static,因爲在WechatSupport繼承類中要靜態調用不能使用new。)
/**
* 注入中間類
* @author wj
*
*/
@Component
public class WashCarWechatData {
private static IWashCarSellerService sellerService;
public IWashCarSellerService getSellerService() {
return sellerService;
}
@Resource
public void setSellerService(IWashCarSellerService sellerService) {
WashCarWechatData.sellerService = sellerService;
}
/**
*
* @param fromUser
* @return
*/
public static MchMaster getByOpenID(String fromUser) {
return sellerService.getByOpenID(fromUser);
}
}
// 實際調用
MchMaster mchMaster = WashCarWechatData.getByOpenID(fromUser);
(之後遇到 implements Job 需要spring注入 同樣方法解決)