在工具類里面調用service或者mapper


最近在工作中有遇到工具類里面調用service方法的情景

@Component
public class RloerUtil {
    /**
     * springboot不支持注入靜態屬性,所以在工具類中使用@Autowired或者其他注解自動注入會失敗
     * 才用如下方法這可以避免注入失敗
     */
    @Autowired
    ISysUserService sysUserService;
    private static ISysUserService ssysUserService;
    @PostConstruct
    public void init() {
        ssysUserService = sysUserService;
    }
    public String getrole() {
        // 獲取當前用戶
        String loginUser = LoginThreadLoad.getLoginUser();
        String[] param = loginUser.split("_");
        //loginType為enterprise代表門戶端用戶 loginType為approve代表審批端用戶
        if ("enterprise".equals(param[1])) {
            // 普通用戶,只能查自己的評價
            return "1" + "-" + param[0];
        } else {
            // 后台人員
            List
 
 
 
         
          
  
  
   userRolesSet = ssysUserService.getRoleCodeByUserName(param[0]);

 
 
 
         

第一步是在整個類上面加上注解@Component,這樣spring才會掃描該類
第二步是注入要調用的service或者mapper
第三步進行初始化,對應的代碼就是

 private static ISysUserService ssysUserService; //接收注入的service
    @PostConstruct
    public void init() {
        ssysUserService = sysUserService; //進行賦值,實際上調用的是ssysUserService
    }

第四部就是在業務代碼里面調用ssysUserService


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM