首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

ssh框架 new 的类里面注入的属性不能用吗解决办法

2012-05-29 
ssh框架new 的类里面注入的属性不能用吗public class A{new B().update()}public class B{@Resourcepriva

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管理的对象了,

热点排行