我正在将遗留应用转换为Spring。作为过渡的一部分,我们将服务类从“实例化新的,无论何时需要一种”样式转换为Springleton样式,因此我需要一种方法来确保它们没有任何状态。
我对* nix命令行很满意,而且我可以访问IntelliJ(这对我来说非常适合结构搜索和替换,如果我能弄清楚如何使用它),我可以跟踪在Eclipse安装中,如果这会有所帮助。我只想确保我找到了所有可能存在的问题。
更新:对不起,感到困惑。我找不到调用旧构造函数的地方没有问题。我正在寻找的是一个“防弹”,为什么要搜索所有100多个服务类的任何内部状态。我能想到的最明显的一个(也是迄今为止我唯一真正发现过的)是我们在类中使用memoization的情况,因此它们具有在内部而不是通过Spring进行初始化的实例变量。这意味着当同一个Springleton用于不同的请求时,数据可能会在它们之间泄漏。 感谢。
答案 0 :(得分:1)
在Eclipse中,您只需右键单击变量/类型,就可以选择引用(或声明) - > (工作区/项目/层次结构)可以帮助您整齐地找到它的所有实例。
答案 1 :(得分:0)
我建议使用Eclipse内置的重构工具,它会尽最大努力相应地更改与该类关联的每个实例。我会更进一步,重命名你想改变的类,所以在最坏的情况下,完整的编译会失败,你可以轻松解决任何这些问题。