gpt4 book ai didi

c# - 我如何获得我与 Spring.NET IoC 的依赖关系的图形表示?

转载 作者:行者123 更新时间:2023-11-30 16:27:56 24 4
gpt4 key购买 nike

我正在使用 Spring.NET 的 IoC 容器,并且一切正常……直到现在。不知何故,在我们之前的一个版本中,我们引入了循环依赖。由于我们使用基于 setter 的注入(inject)而不是基于构造函数的注入(inject),因此 Spring.NET 一直运行良好,但我们的应用程序的行为发生了变化。

现在我有一个包含大约一百个组件的解决方案,并且在那堆组件中的某处存在循环依赖,我现在需要找到它。

是否有任何工具可以获取我的 Spring.NET 配置文件并为我提供组件及其依赖项的图形化图片?

最佳答案

AFAIK 没有这样的工具可用,尽管有一个用于 Spring for Java 的工具。这thread on the spring.net forum 讨论问题并提出解决方案。我根据 Thomas Darimont 的方法使用 QuickGraph 进行了快速的概念证明。 .

对于以下配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">

<object id="a1" type="q7446068.ClassA, q7446068" >
<property name="MyOtherA" ref="a2" />
</object>

<object id="a2" type="q7446068.ClassA, q7446068" >
<property name="MyOtherA" ref="a1" />
</object>

<object id="a3" type="q7446068.ClassA, q7446068" />

</objects>

我能够创建以下点文件:

digraph G {
0 [label="a1"];
1 [label="a2"];
2 [label="a3"];
0 -> 1 [];
1 -> 0 [];
}

using graphviz to make a trivial picture

这显示了循环依赖。

代码可用as a gist .

关于c# - 我如何获得我与 Spring.NET IoC 的依赖关系的图形表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7446068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com