与xml配置文件相比,注释(非编译器)的优缺点是什么?

los*_*and 20 java annotations

当我查看像Hibernate,JPA或Spring这样的Java框架时,我通常可以通过xml文件进行配置或直接在我的类中添加注释.

我一直在问自己应该走哪条路.

当我使用注释时,我将类和它的配置放在一起,但是使用xml我可以更好地了解我的系统,因为我可以看到所有的类配置.

注释也以某种方式编译,我猜它应该比解析xml更快,但另一方面,如果我想更改我的配置,我必须重新编译它而不是只更改xml文件(可能会变得更多方便客户方的生产环境).

因此,在查看我的观点时,我倾向于采用xml方式.但是在查看论坛或教程时,通常会使用注释.

你有什么优缺点?

Jon*_*eet 22

一个好的经验法则:您可以看到自己想要在没有完全重新部署的情况下进行更改的任何内容(例如,调整性能参数)都应该采用"软配置"的方式,例如XML文件.任何从未真正改变的东西 - 或者只是在你不得不改变代码的情况下 - 可以合理地在注释中.

忽略注释和XML之间性能差异的任何想法 - 除非您的配置绝对庞大,否则差异将是微不足道的.

专注于灵活性和可读性.

  • 注释具有附加到代码的优点.因此,与单独的文件相比,它们不太可能失去同步.确保单独文件中的任何选项都完全包含在单元测试中.那就是说,你最好的选择是领导上面的建议. (2认同)