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")
注释??
展开
 我来答
nbqwcnm10
2011-06-09 · 超过11用户采纳过TA的回答
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
如果你使用new关键字了,那么这个对象的创建spring就不管了,当然也就不能从spring容器中拿到你之前注入的对象了。
只有使用你下边的代码
ExistManager existManager = (ExistManager)ctx.getBean("existManager");
才是从spring中读取你注入的bean。
明白了吧
追问
那当我new一个table时他怎么会自动注入 主键?
ahyyxx222
2011-06-09 · TA获得超过2532个赞
知道小有建树答主
回答量:1405
采纳率:33%
帮助的人:1212万
展开全部
@Service
public class ExistManager
或者像你写的从xml里getBean都可以

不把ExistManager托管给spring而是自己new的话,spring当然不会帮你注入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友def67bd
2011-06-09 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:29万
展开全部
new 的话是不会注入的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式