项目场景:
多类实现同一个接口
问题描述
实现类中@Autowired注入为空
@Autowired
private CaseProcessService caseProcessService;
原因分析:
调用类的时候是new Service() ,new的类不能注入。
解决方案:
- 构造器注入。在构造方法上使用@Autowired,把参数放入
@Autowired
public CaseNoticeService(CaseProcessService caseProcessService) {
this.caseProcessService = caseProcessService;
}
- 把所有实现类加载到map里
RecordService接口
@Resource
private Map<String, RecordService> recordMap;
实现类
@Service("MCC")