话不多说,直接上代码:
@Component
@Slf4j
public class WxPublicUtils {
@Autowired
private WxUserMapper usedWxUserMapper;//@Autowired引入后必须先赋值给静态变量才可
private static WxUserMapper wxUserMapper;
public static WxPublicUtils wxPublicUtils;
@PostConstruct
public void init() { //静态变量初始化的时候赋值
wxPublicUtils = this;
wxUserMapper = this.usedWxUserMapper;
}
public static String getInfoByCode(String code){
//判断不含有该用户时创建,含有该用户时更新
//......
// 其他处理逻辑
//......
//在此处可以调用mapper中的方法了,service中注入方式一样
Integer count = wxUserMapper.updateWxUser(wxUser);
//......
// 其他处理逻辑
//......
}
}
直接注入为空的原因是因为在springboot中注解的加载顺序:@PostConstruct >> @Autowired >> @PostConstruct;@Autowired可替换为@Resource