spring 通過註解實現工具類註入Service方法
阿新 • • 發佈:2018-04-04
註解
在開發過程中,我們經常有碰到工具類裏面,要執行CRUD操作,需要調用到Service實現類,這時可以通過下述方法來得到。
1註入@Component
在持久層、業務層和控制層中,分別采用@Repository、@Service和@Controller對分層中的類進行凝視;而用@Component對那些比較中立的類進行凝視。
【如下圖:@Repository、@Service,@Controller,@Component在同一路徑下,分別對不同類型的類進行凝視】
2註入@PostConstruct
通過@PostConstruct 和 @PreDestroy 方法 實現初始化和銷毀bean之前進行的操作。
通過 步驟1:定義一個static 的工具類參數,步驟2 在用 @PostConstruct初始化中,把該靜態參數實例化
``` @Component public class SMSUtils { @Autowired private ISmsService smsService; //添加所需service的私有成員【不能加static,不然smsService會等於null,因為static方法是先於對象創建之前就已經加載的方法,先於構造執行,是屬於類的方法】 private static SMSUtils smsUtils; // 步驟1 靜態初使化 一個工具類 這樣是為了在spring初使化之前 public static final String SMS_PHONE_CODE = "xxxxx"; public static final String SMS_REG_SUCCESS = "yyyyyy"; @PostConstruct public void init() { smsUtils = this; smsUtils.smsService = this.smsService; //步驟2 初使化時將已靜態化的testService實例化,即可以使用 smsUtils.smsService.smsServicelai 來調用service服務 } //發送短信驗證碼 params 請嚴格按照模板輸出的字段順序來 public static void sendSms(String phone, String[] params, String templateCode) { SmsResponse smsResponse = smsUtils.smsService.sendSms( phone, jsonStr, templateCode ); }
}
spring 通過註解實現工具類註入Service方法