自建工具类引用service层或dao层接口报空指针异常解决办法之一

问题描述:想要建一个工具类进行数据同步,其中要用到service层或dao层的数据查询接口,正常构建工具类,用@Autowired注解导入service层。在项目测试时报空指针异常,发现是service层接口注入失败。

 

解决方法:将你的工具类变成spring容器:1.将你的工具类所在的包在springmvc文件中配置扫描路径,和controller层、service层、dao层一样就可以:<context:component-scan  back-package="包名“/>

在工具类上添加@Component注解,并且静态初始化当前类,在初始化方法上加上@PostConstruct注解,在调用service层或其他注入的bean时用静态变量加类名的方式:具体看如下代码:

@Component
public class DataUpload{

   @Autowired
   IAddressService addressService;


   //静态初始化当前类
   private static DataUpload dataUpload;
   
   //在方法上加上注解@PostConstruct,这样方法就会在bean初始化之后被spring容器执行
   @PostConstruct
   public void init(){
   //声明的静态类=this
        dataUpload=this
}
//service层或其他注入bean的调用
 IpAddress IPAddress= dataUpload.addressService.getOne();

这样就可以在工具类里面调用其他的注入打的bean了。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值