Spring依赖注入的接口为null
来源:互联网 发布:旅行社信息管理数据库 编辑:程序博客网 时间:2024/05/22 03:40
昨天碰到一个问题,做大量Excel导入时,Spring依赖注入接口总是null。
因为之前使用的时候都是可以的,所以我就各种尝试,我的类进行实现接口,进行组件定义等等都不行。今早重新看看依赖注入的定义,组件之间依赖关系由容器在运行期决定,由容器动态的将某个依赖关系注入到组件中。
上面的重点有1、需要注入的地方一定要定义成组件;2、注入的接口需要实现,用注解@Autowired注入;3、就是我犯的错误!调用这个服务用new,而不是注入方式调用;一、下面是服务调用入口代码:
@Service("readService")
public class ReadServiceImpl implements ReadService {
@Autowired
CountBeniftService service;
@Autowired
Excel2007ReaderService readerService; //通过注入接口,调用组件
@Override
public Map<String, String> read(String path, String fileName) {
Map<String, String> map = new HashMap<String,String>();
try{
readerService.readOneSheet(path);
map.put("result", "读取文件并保存成功");
}catch(Exception e){
map.put("result", "服务调用后程序运行出错,请联系开发者查找问题");
}
return map;
}
}
二、readerService是我的服务入口,如果这里用new 来实例化,服务内注入的接口不可用。因为没有将实咧交给Spring来控制;
Excel2007ReaderService 就是我的服务具体实现,而且内部还可以继续注入JPA接口,操作数据库,
@Component
public class Excel2007ReaderService extends DefaultHandler {
@Autowired
private UddiDBService service;
//共享字符串表
private SharedStringsTable sst;
//上一次的内容
private String lastContents;
private boolean nextIsString;
}
三、看我的服务内部就可以注入啦!给大家看下返回结果:
给大家温习下ioC和DI,有用请点个赞~
- Spring依赖注入的接口为null
- Spring的依赖注入(接口注入)
- Spring的依赖注入(接口注入)
- Spring的依赖注入(接口注入)
- Spring的依赖注入(接口注入)
- Spring的依赖注入(接口注入)
- 关于spring依赖注入到普通类中为null的情况解决理解方案
- SpringBoot的拦截器中依赖注入为null
- Spring bean注入为null
- Spring(4)--Spring的核心机制:依赖注入(面向接口)
- spring 的依赖注入
- Spring的依赖注入
- Spring的依赖注入
- spring的依赖注入
- spring的依赖注入
- spring的依赖注入
- Spring的依赖注入
- Spring的依赖注入
- 卷积神经网络与caffe的卷积层、池化层
- $.ajax中dataType为html实现地区显示效果
- python opencv cv2 基础操作2
- 文件扩展名处理
- 读取/root/.profile时发现错误:mesg:ttyname failed:对设备不适当的ioctl操作
- Spring依赖注入的接口为null
- Android注解使用之Dagger2实现项目依赖关系解耦
- 农产品项目公共类WWAction.java
- LINUX的初步----云主机centos6.5的安装
- js获取当前时间
- JAVA排序汇总
- MFC对话框框架详解
- 一种高效的寻路算法
- java动态代理总结(狗星例子)