Spring,抽象类和注释

时间:2010-05-27 14:15:36

标签: java spring

我有一个非常简单的抽象类

public abstract class AbstractServiceActions {

    @Autowired
    protected DatabaseModel dbModel;

    protected User user;
    protected boolean complete;
    protected String serviceResult;

    public AbstractServiceActions(User user) {
        this.user = user;
        this.serviceResult = "";
    }

    public abstract String doAction();
    }

现在您可以看到,我正在尝试自动装配DatabaseModel。但在我的扩展类中,我只接受dbModel的null。

@Component
public class CreateDatabaseAction extends AbstractServiceActions {
....
}

问题:我在这里尝试一些不可能的事情吗?

2 个答案:

答案 0 :(得分:27)

您的设置似乎很好。原因可能在于其他地方。也许你用new CreateDatabaseAction()来实例化这个类,而不是让spring做这个。

答案 1 :(得分:1)

使用@Autowired中的@Inject而非javax.inject

抽象类中的依赖注入仅适用于spring @Autowired

仅供参考,我使用的是Spring 4.0; Java 6