あなたが参照したチュートリアルは、アプリケーションのすべてのレイヤー(データアクセス、ビジネスロジック、Web)をカバーしています。アプリケーションのWebレイヤーに固有の懸念に対処するSpringMVCの感触だけを知りたい人にとって、これは必要以上の情報になる可能性があります。おそらくそれが、チュートリアルが複雑であると感じた理由です。
フレームワーク全体が特別なインターフェースや抽象クラスなどに依存するのではなく、POJOで動作するように設計されているため、質問に答えるためにSpringは簡単に習得できます。開発者は、ソフトウェアを通常のJavaアプリケーション(インターフェース、クラス、列挙型)として記述し、Springを使用してコンポーネントを配線することができます。配線の邪魔になることはありません。あなたが参照したチュートリアルは、経験豊富なプログラマーが実際のアプリケーションで通常行うよりも少し詳細に物事を説明しようとします。おそらく、著者は、概念がよく理解されるように、Springがどのように機能するかについて読者に十分な洞察を得てほしいと思ったからです。
ほとんどのアプリケーション(サイズや性質に関係なく)では、通常、Springクラスを拡張したり、特殊なクラスを実装したりする必要はありません。Springコミュニティは非常に大きく、Springと統合するすぐに利用できるコンポーネントのさらに大きなエコシステムが存在します。したがって、何かを達成するためにSpringコンポーネントを実装しなければならないことは非常にまれです。たとえば、データアクセス層の例を見てみましょう。さまざまなチームが、データベースへのアクセスにさまざまなアプローチを使用することを好みます。生のJDBCが好きな人もいれば、iBatisやHibernateのようなサードパーティのORMが好きな人もいれば、JPAが好きな人もいます。Springディストリビューションには、これらすべてのアプローチをサポートするクラスが含まれています。同様に、誰かが宣言型トランザクション管理をアプリケーションに組み込むことを検討していたとしましょう。また、トランザクション管理はさまざまな方法で実行でき、多くのトランザクション管理製品を利用できます。これらの製品のほとんどでSpring統合を利用できるため、チームは使用する製品を選択して、Springアプリケーションで構成するだけで済みます。
最近のSpringリリースでは、大部分が広範なXMLベースの構成ファイルを廃止しました。これはJavaコードの外部にあるため、Springアプリケーションを理解するのが少し面倒でした。今日では、注釈を使用して多くのことができます。例えば、
@Controller
public class AuthenticationController
{
...
}
AuthenticationControllerがWebMVCコントローラークラスであることを示します。Controllerアノテーションの使用を回避し、設定より規約のアプローチに従ってコーディングをさらに簡素化する方法もあります。
Spring MVCの優れた簡単なチュートリアルは、http: //www.vaannila.com/spring/spring-mvc-tutorial-1.htmlで入手できます。このチュートリアルでは、アノテーションの代わりにSpring BeanのXMLベースの構成を使用しますが、概念は同じです。