【发布时间】:2015-10-22 14:20:03
【问题描述】:
我目前在 Spring Hell 中试图确定为什么 ApplicationContext 的 @Autowired 实例没有被注入或在某些 JUnit 测试的目标类中为空。引用 ApplicationContext 变量的类被注释为 @Component 并且同一包中的其他 @Component 类正在与不同的变量正确连接。我已经尝试添加 log4j 调试,但我最终得到了一个荒谬的输出量,甚至无法通过。
我想知道是否有人可以指出 Spring 包和执行自动扫描的类的方向,以便我可以尝试单步执行 Spring 代码并查看为什么该类被静默忽略。我还没有找到一个好的切入点来开始调试工作,我真的厌倦了尝试解决这个问题的尝试和错误。
任何建议表示赞赏。
【问题讨论】:
-
发布一些代码。弹簧的东西非常防弹。你可能犯了一些或多或少明显的错误。
-
谢谢,但我正在寻找一种调试方法,而不是关于使用 Spring 施放哪些咒语以使野兽高兴的建议。我所有的其他类都具有相同的格式并且可以正常工作,但是 ApplicationContext 注入根本没有发生。
-
只是为了检查自己尝试在您的国际象棋中实现 ApplicationContextAware 接口。
-
我已经这样做了,它也没有被调用。因此,为什么我要直接调试扫描。基本上同一个包中的类 A 和 B 都被注释为 Component 并且都使用了 Autowired,但只有没有 ApplicationContext 变量的类才能获得它的值。
标签: java spring debugging autowired applicationcontext