调用工具类方法的注意事项
当我们调用一个工具类的方法的时候 eg:
工具类:
@Component
public class ConvertUtils {
@Resource
private JcdeptMapper jcdeptMapper;
@Autowired
private JcdeptController jcdeptController;
@Autowired
private JcdeptDao jcdeptDao;
//方法一:
public List<String> findName(String DEPTCODE) {
.........
}
}
当我们调用该工具类的方法一:findName()方法时,引用该工具类时,容易出现问题。
eg:
ConvertUtils convertUtils = new ConvertUtils();
这样写的话会报 Dao 或 Mapper 为空的错:
也就是没有成功引入该工具类,调不到该工具类中的方法。
原因:
使用 new 工具类的方式调用工具类中的方法是错误的,因为
ConvertUtils convertUtils = new ConvertUtils();
是调用了无参构造方法创建对象:convertUtils,该对象没有
任何属性和方法,此时在ConvertUtils工具类中也没有给他加上
get() set() 方法去设置属性等。
而ConvertUtils工具类已经使用@Component注解将该工具类
注入到容器中交给spring去管理了,我们想到用该工具类中的方法
的话,只需要将该工具类注入到我们想要调用该工具类方法的代码中
就行了
eg:
@Service
public class EnergyServiceIml extends ServiceImpl<EnergyMapper, EnergyDailyStatistics> implements EnergyService {
@Autowired
private ConvertUtils convertUtils;
此时我们就可以使用convertUtils 对象 去调用该实体类中的方法了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示