3

我有以下主要课程:

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 不被识别,我得到:

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

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

4

2 回答 2

2

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

 <context:component-scan base-package="pakage1.package2"/>
于 2013-04-11T14:29:21.080 回答
0

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

于 2013-04-15T04:57:46.050 回答