抽象类,接口和Autowired

时间:2013-04-11 14:22:59

标签: java spring annotations autowired

我有以下主要课程:

public class Startup implements UncaughtExceptionHandler {

@Autowired
private MessageListener messageListener;

private static Startup startup;

public static void main(String[] args) {
        Startup start = new Startup();
        start.init(args); 
}

public void init(String[] args) {

    context = new ClassPathXmlApplicationContext("applicationContext.xml");
    startup = (Startup) context.getBean( "startup" );
    startup.start(); //here the messageListener is used
}

//这里是调用使用messageListener的方法的主类     }

@Component
public class ProdMessageListener 
    extends AbstractMessageListener implements MessageListener {...}

public abstract class AbstractMessageListener 
    implements MessageListener {...}

以及

@Component
public interface MessageListener extends QueueAware {...}

@Component
public interface QueueAware {...}

My Spring上下文用于定位所有类和接口。 然而,豆不被识别,我得到:

  

没有类型的限定bean   找到[com.ware.messaging.listener.MessageListener]   依赖性。

为什么自动装配不起作用?

2 个答案:

答案 0 :(得分:2)

请确保已将基础软件包添加到弹簧上下文配置中,如下所示,以允许spring将所有组件加载到容器中

 <context:component-scan base-package="pakage1.package2"/>

答案 1 :(得分:0)

你知道问题是什么吗? Spring似乎没有自动装配静态字段。现在一切正常。