利用Java反射得到service,该service中自动注入的dao失效为空怎么解决?

代码如下:HuaWeiServicehuaWeiService=(HuaWeiService)Class.forName("com.service.impl.HuaWei... 代码如下:
HuaWeiService huaWeiService = (HuaWeiService)Class.forName("com.service.impl.HuaWeiServiceImpl").newInstance() ; huaWeiService.openKey("");//调用实例中的方法

@Service
public class HuaWeiServiceImpl extends AbstractService implements HuaWeiService {

@Autowired
private KpRecordDAO kpRecordDAO;
@Override
public String openKey(String content) throws Exception{
system.out.println(kpRecordDao);

}
}
这里输出这个dao是null;请问这个怎么解决?
展开
 我来答
soysource
2015-10-13 · TA获得超过400个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:292万
展开全部
手动设置上去。autowired是spring的注解,离开spring容器就会失效
追问
请问大神手动设置上去是什么意思,能说详细一点吗?
追答
反射是可以直接给Private字段赋值的。所以还是反射,new一个dao,然后设置到kpRecordDAO上去。

当然,如果你可以直接改原来的代码,加一个public的set方法会更规范
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式