0

新しいプロジェクトのために、どのフレームワークを使用するかを探していました。既存のフレームワークの更新を探しました。

Spring MVS コントローラーについて非常に興味深いことがわかりました。コントローラー自体で、アクセスする URL を定義できるようになりました。最良のことは、URL を書き換える必要がないことです。そのような機能もあります。つまり、次のように URL を直接指定できます。

\users\amit\stores\store1

以前は、このようにするために URL 書き換えを作成する必要があり、実際の URL は次のようでした。

\StoreDetails?user=amit&store=store1

I found it very good. But on second thought, if I compare, if I start putting the urls in controller itself, will not it make a little difficult to maintain after say 1 year, when I have so many modifications done on the project and at times, the url given to Controller turns not related to the name of the Controller.

For example in above example, I might want to search for storedetails, but by url i would be searchin in StoreController etc.

What you guys suggest is good practice, to go with xml or to go with annotation based. If you guys using the annotation based, do you face any issue?

Thanks & Regards
Amit

4

2 に答える 2

3

Spring MVC は、事前定義された多くの規則を実装しています。たとえば@RequestMapping、コントローラーで明示的に定義しない場合、コントローラー名と同様の URL にマップされます。たとえば、コントローラーに名前が付けられUsersている場合、自動的に url にマップされusersます。クラスの名前を に変更するCustomersと、自動的に url にマップされcustomersます。

メソッドでも同じことが起こります。

大きな問題は、あなたが本当にこれを望んでいるかどうかです。通常、内部の変更 (クラスの名前変更を含む) が、提供する API に直接的かつ自動的に影響することは望ましくありません。

マッピングを明示的に定義することを選択した場合は、将来の継続的なサポートを簡素化する特定の規則を使用してプロジェクトを整理してみてください。public static final String注釈で s を使用することもできます。URL に依存するすべての文字列は、次のように 1 つのクラスに格納できます。

public interface Mapping {
    public final static String USERS = "users";
    public final static String PERMISSIONS = "permissions";
}

@RequestMapping(Mapping.USERS)
public UserController {
   ............
}
于 2013-07-03T08:50:06.387 に答える