自建工具类引用service层或dao层接口报空指针异常解决办法之一
问题描述:想要建一个工具类进行数据同步,其中要用到service层或dao层的数据查询接口,正常构建工具类,用@Autowired注解导入service层。在项目测试时报空指针异常,发现是service层接口注入失败。 解决方法:将你的工具类变成spring容器:1.将你的工具类所在的包在springmvc文件中配置扫描路径,和controller层、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条内容
所有评论(0)