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才可以用……
------解决方案--------------------
------解决方案--------------------new B()的话,B里面的C根本就是NULL,这个B要用Spring注入;
或者说你在B.update()之前要 B.setC( c )
------解决方案--------------------如果 你没有做特殊处理 你不能使用new来创建
但是 如果你使用了 加载置入loadWeawer 使用代理 -agentLib 你就可以使用new来创建spring的对象了
------解决方案--------------------你用了new,的对象,就不是spring管理的对象了,