您好,登錄后才能下訂單哦!
在開(kāi)發(fā)過(guò)程中,我們經(jīng)常有碰到工具類(lèi)里面,要執(zhí)行CRUD操作,需要調(diào)用到Service實(shí)現(xiàn)類(lèi),這時(shí)可以通過(guò)下述方法來(lái)得到。
在持久層、業(yè)務(wù)層和控制層中,分別采用@Repository、@Service和@Controller對(duì)分層中的類(lèi)進(jìn)行凝視;而用@Component對(duì)那些比較中立的類(lèi)進(jìn)行凝視。
【如下圖:@Repository、@Service,@Controller,@Component在同一路徑下,分別對(duì)不同類(lèi)型的類(lèi)進(jìn)行凝視】
通過(guò)@PostConstruct 和 @PreDestroy 方法 實(shí)現(xiàn)初始化和銷(xiāo)毀bean之前進(jìn)行的操作。
通過(guò) 步驟1:定義一個(gè)static 的工具類(lèi)參數(shù),步驟2 在用 @PostConstruct初始化中,把該靜態(tài)參數(shù)實(shí)例化
```
@Component
public class SMSUtils {
@Autowired
private ISmsService smsService; //添加所需service的私有成員【不能加static,不然smsService會(huì)等于null,因?yàn)閟tatic方法是先于對(duì)象創(chuàng)建之前就已經(jīng)加載的方法,先于構(gòu)造執(zhí)行,是屬于類(lèi)的方法】
private static SMSUtils smsUtils; // 步驟1 靜態(tài)初使化 一個(gè)工具類(lèi) 這樣是為了在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 初使化時(shí)將已靜態(tài)化的testService實(shí)例化,即可以使用 smsUtils.smsService.smsServicelai 來(lái)調(diào)用service服務(wù)
}
//發(fā)送短信驗(yàn)證碼 params 請(qǐng)嚴(yán)格按照模板輸出的字段順序來(lái)
public static void sendSms(String phone, String[] params, String templateCode) {
SmsResponse smsResponse = smsUtils.smsService.sendSms( phone, jsonStr, templateCode );
}
}
@Component
public class SMSUtils {
@Autowired
private ISmsService smsService;
.....
}
@RestController
public class AuthController extends SuperRestController {
@Autowired
private SMSUtils smsUtils;
....
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。