不是两行代码的问题,比如十几个上百个service不同程序员写的
我作为A的作者,不想去了解B需要什么,它可能依赖EGH几个service,
B同样也不想去了解EGH 们都依赖什么,又因为循环依赖也没法直接写到构造函数里保证不是null
如果都像你这么写,那一层一层的你得看多少代码来保证不出问题呢?
其实还有一个办法,就是写个工具类,然后每个service在真正需要其他service时,通过工具类去取对应实例。但这样就把能提前发现的错误延迟到运行时激活才能发现了(比如一个service没有注册),所以既然有spring帮着管理能在容器启动后检查所有依赖并直接注入,不用做null check,不怕service没注册,不就方便多了吗。更何况spring还有事务管理等其他你本来也想要的功能,有什么理由不用呢。
【 在 hongyan2022 的大作中提到: 】
: 是这个著名的循环引用?
: A a = new A()
: B b = new B()
: ...................
--
FROM 165.225.114.*