整个魔法在这里它只在 linux\server\laptop 机器上崩溃并且在 mac 上完美地工作(自动装配)。我有
@EnableWebSocketMessageBroker
@Configuration
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
@Autowired
private A a;
@Autowired
private B b;
@Autowired
private C c;
@Autowired
private D d;
....
}
如果这些类之一(例如 C)有
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
然后 C 在 WebSocketConfiguration 上变为 null 并且所有后续类也变为 null (当前示例中的 D 类也。所以这里的顺序很重要)
有趣的是,在 Mac 笔记本电脑上它可以完美运行,但在服务器和我的 linux 笔记本电脑上我遇到了麻烦。
在 A、B、C、D 类中也有相互引用(循环依赖自动装配),但据我了解,Spring 必须非常容易地解决它。
如果我从 SimpMessagingTemplate 中删除 @Autowire 所有类都可以完美加载并且可以正常工作。
这里可能有什么问题?