我有以下主要课程:
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] 依赖性。
为什么自动装配不起作用?
答案 0 :(得分:2)
请确保已将基础软件包添加到弹簧上下文配置中,如下所示,以允许spring将所有组件加载到容器中
<context:component-scan base-package="pakage1.package2"/>
答案 1 :(得分:0)
你知道问题是什么吗? Spring似乎没有自动装配静态字段。现在一切正常。