日期:2014-05-17  浏览次数:20714 次

ssh框架 new 的类里面注入的属性不能用吗
public class A{
  new B().update();
}

public class B{
 @Resource
 private C c;

 public update(){
  c.update();/这里一调用 报null 请问大侠们是怎么回事
 }

}

------解决方案--------------------
不能直接new的,你这样就脱离的spring容器的管理。
可以在A里面注入B,然后通过spring获取A的实例
------解决方案--------------------
如果你的A new B是没有问题的!
要是有问题、它也进不到B里面来执行那个update方法!
Spring管理的实现不能new!
你的问题应该是B类中没有生成注入属性的set方法、或者是配置不正确!
------解决方案--------------------
c交给spring管理了,那么b也要交给spring管理才行,这样c才能注入到b中,a中new才可以用……
------解决方案--------------------
探讨

c交给spring管理了,那么b也要交给spring管理才行,这样c才能注入到b中,a中new才可以用……

------解决方案--------------------
new B()的话,B里面的C根本就是NULL,这个B要用Spring注入;
或者说你在B.update()之前要 B.setC( c )
------解决方案--------------------
如果 你没有做特殊处理 你不能使用new来创建

但是 如果你使用了 加载置入loadWeawer 使用代理 -agentLib 你就可以使用new来创建spring的对象了
------解决方案--------------------
你用了new,的对象,就不是spring管理的对象了,