读书人

ssh框架 new 的类里面注入的属性不能

发布时间: 2012-05-29 12:16:00 作者: rapoo

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

读书人网 >Java Web开发

热点推荐