我有以下主要 class :

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 {...}

我的Spring上下文用于查找所有类和接口。
但是无法识别该bean,我得到:

没有合格的Bean类型
找到[com.ware.messaging.listener.MessageListener]
依赖性。

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

最佳答案

只需确保已将基本包添加到如下所示的spring上下文配置中,即可允许spring将所有组件加载到容器中

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

09-11 17:50