我有一个抽象类“Command”,带有@Autowired依赖项和扩展抽象类的类。依赖项没有被注入。抽象和具体类用@Component注释并正在被扫描。看起来,基础(抽象)类不是由spring管理的。需要做些什么?是否有注释将其定义为抽象?我不想用XML定义bean。抽象类中定义的Spring自动装配依赖关系
public abstract class Command {
@Autowired
private SecurityUtils securityUtils;
....
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
@Component
public class NoteCommand extends Command {
...
}
我的错误我很抱歉。命令类被注入到我的控制器中,其中一个(NoteCommand)通过“new”手动实例化。一切都很好。
您的应用程序是否因不满意的自动布线字段而失败? –
Spring容器是通过组件扫描实例化bean还是你自己在某处调用'new'?如果还没有一个,在子类中添加一个依赖项并确认它已被正确注入。最后,你究竟在哪里尝试访问缺少的'securityUtils'? – chrylis
另外,如果将'securityUtils'的可见性从'private'更改为'protected',会发生什么? – chrylis