【发布时间】:2015-06-14 09:11:57
【问题描述】:
考虑这种情况:
我有 A、B 和 C 类。
B 类扩展抽象类 A 和 C 类想使用 B 类作为 成员来执行操作。
@Service
public abstract class A{
}
@Component
public class B extends A{
}
@Service
Public class C {
private class B b;
@Autowired
public C(Class B b){ // constructor
this.b = b;
}
private void setB(B b){
this.b = b;
}
private B getB(){
return b;
}
}
当我尝试进行组件扫描时,tomcat 不会加载。 我已经成功地以这种方式为非继承对象注入 bean。
我收到的错误是监听开始错误:
2015 年 6 月 14 日下午 12:09:04 org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Jun 14, 2015 12:09:04 PM org.apache.catalina.core.StandardContext startInternal SEVERE:上下文 [] 由于先前的错误,启动失败 2015 年 6 月 14 日 12:09:05 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
感谢您的帮助。
【问题讨论】:
-
你能发布完整的堆栈跟踪吗?
-
我在代码中添加这一行时已经追踪到问题:HttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();即使在添加自动装配时这段代码没有运行,我也会收到错误,没有自动装配它可以工作。我不得不承认有点奇怪。我无法在 tomcat 中找到与此相关的任何日志。
-
顺便说一下,我将它添加到 A 类中的一个未使用的方法中。
标签: spring tomcat inheritance autowired