Spring 注入 的疑问
publicclassExistManager{privateDAOdao;publicbooleanexist(Stringname){returndao.exist(...
public class ExistManager {
private DAO dao;
public boolean exist(String name){
return dao.exist();
}
public DAO getDao() {
return dao;
}
@Resource(name="dao")
public void setDao(DAO dao) {
this.dao = dao;
}
}
另一个
@Component("dao")
public class DAO {
public boolean exist(){
return true;
}
}
我在beans.xml里注明了自动扫描组件;
我new 一个ExistManager 对象时为什么 dao不能注入呢?
我用
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
ExistManager existManager = (ExistManager)ctx.getBean("existManager");
(从beans.xml里面拿existManager 的bean)才能自动注入 dao!!
这是为什么啊??难道new一个对象是无视那个@Resource(name="dao")
注释?? 展开
private DAO dao;
public boolean exist(String name){
return dao.exist();
}
public DAO getDao() {
return dao;
}
@Resource(name="dao")
public void setDao(DAO dao) {
this.dao = dao;
}
}
另一个
@Component("dao")
public class DAO {
public boolean exist(){
return true;
}
}
我在beans.xml里注明了自动扫描组件;
我new 一个ExistManager 对象时为什么 dao不能注入呢?
我用
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
ExistManager existManager = (ExistManager)ctx.getBean("existManager");
(从beans.xml里面拿existManager 的bean)才能自动注入 dao!!
这是为什么啊??难道new一个对象是无视那个@Resource(name="dao")
注释?? 展开
展开全部
@Service
public class ExistManager
或者像你写的从xml里getBean都可以
不把ExistManager托管给spring而是自己new的话,spring当然不会帮你注入
public class ExistManager
或者像你写的从xml里getBean都可以
不把ExistManager托管给spring而是自己new的话,spring当然不会帮你注入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new 的话是不会注入的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询