1. ホーム
  2. java

[解決済み] Xml設定とアノテーションベースの設定 [終了しました]。

2022-06-17 23:56:07

質問

私が最近取り組んでいるいくつかの大きなプロジェクトでは、どちらか一方(XMLまたはアノテーション)を選択することがますます重要になってきているようです。プロジェクトが大きくなるにつれて、一貫性は保守性のために非常に重要です。

私の質問は、アノテーションベースの設定に対する XML ベースの設定の利点は何か、XML ベースの設定に対するアノテーションベースの設定の利点は何かということです。

どのように解決するのですか?

アノテーションには使い道がありますが、XMLの設定を殺すための1つの銀の弾丸ではありません。 私はこの2つを混ぜることをお勧めします!

例えば、Springを使用する場合、アプリケーションの依存性注入の部分にXMLを使用することは全く直感的なことです。 これとは対照的に、依存関係を必要とするコードで何らかの注釈を使用すると、コードはこの自動構成を認識するようになります。

しかし、トランザクション管理のためにXMLを使用する代わりに、アノテーションでメソッドをトランザクションとしてマークすることは、プログラマーがおそらく知りたいと思う情報であるため、完全に理にかなっています。 なぜなら、SubtypeX を注入したい場合、コードを変更しなければなりませんが、以前はインターフェイス契約を持っていたので、XML では XML マッピングを変更する必要があるだけで、そうするのはかなり迅速で苦痛ではありません。

私はJPAアノテーションを使ったことがないので、その良さは分かりませんが、BeanとデータベースのマッピングをXMLに残すことも良いことだと思います。 しかし、もしあなたがJPAを好きなら(私は経験がありませんが)、ぜひ、それをやってください。

一般論として。 アノテーションが機能を提供し、それ自体がコメントとして機能し、このアノテーションなしで正常に機能するためにコードを特定のプロセスに縛り付けないのであれば、アノテーションを利用することをお勧めします。 たとえば、トランザクションとマークされたメソッドは、その動作ロジックを殺すことはなく、同様に良いコードレベルのコメントとして機能します。 それ以外の場合、この情報はおそらくXMLとして表現するのが最善です。なぜなら、最終的にコードがどのように動作するかに影響を与えるものの、コードの主要な機能を変更しないため、ソースファイルには属さないからです。