您好,登錄后才能下訂單哦!
在開發過程中,我們經常有碰到工具類里面,要執行CRUD操作,需要調用到Service實現類,這時可以通過下述方法來得到。
在持久層、業務層和控制層中,分別采用@Repository、@Service和@Controller對分層中的類進行凝視;而用@Component對那些比較中立的類進行凝視。
【如下圖:@Repository、@Service,@Controller,@Component在同一路徑下,分別對不同類型的類進行凝視】
通過@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 );
}
}
@Component
public class SMSUtils {
@Autowired
private ISmsService smsService;
.....
}
@RestController
public class AuthController extends SuperRestController {
@Autowired
private SMSUtils smsUtils;
....
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。