注釈に対する反論 質問する

注釈に対する反論 質問する

私のチームは Spring 3.0 に移行中で、すべてをアノテーションに移行したいと考えている人がいます。次のようなメソッドを持つクラスを見ると、本当に嫌な予感がします (コードの臭い?)。(単なる例です。実際のアノテーションがすべてではありません)

@Transaction
@Method("GET")
@PathElement("time")
@PathElement("date")
@Autowired
@Secure("ROLE_ADMIN")
public void manage(@Qualifier('time')int time) {
...
}

私は時代遅れなのでしょうか、それともこれは他の人にとってひどい考えに思えるのでしょうか? 継承やポリモーフィズムなどの OO 概念を使用する代わりに、今ではすべてが慣例または注釈によって行われます。私はそれが好きではありません。私の意見では構成であるものを変更するためにすべてのコードを再コンパイルする必要があるのは間違っているように思えます。しかし、すべてが (特に Spring では) そうなっているようです。私はただ「それを乗り越える」べきでしょうか、それとも抵抗して、できるだけ注釈のないコードを維持するように努めるべきでしょうか?

ベストアンサー1

実際のところ、あなたの直感的な嫌悪感は、設定とコードを混在させるような注釈に関係していると思います。

個人的には私もあなたと同じように感じており、構成 (トランザクション定義、パス要素、コントローラーをマップする URL など) をコード ベース自体の外部と外部の Spring XML コンテキスト ファイルに残しておくことを好みます。

ただし、ここでの正しいアプローチは意見と、どの方法を好むかによって決まると思います。コミュニティの半分は注釈アプローチに同意し、残りの半分は外部構成アプローチに同意すると予測します。

おすすめ記事