在工具类里面调用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
浙公网安备 33010602011771号