プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Spring Framework
  • 【Spring Framework】Spring MVCとは?
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Spring Framework】Spring MVCとは?

05.06

  • miyabisan2
  • 1件のコメント

この記事は2分で読めます

「Spring MVC」とは

SpringでWebアプリケーションを開発するためのフレームワークであり、アーキテクチャパターンとしてMVCを用いています。

Javaで、Webアプリを作る場合であれば、筆頭候補になりえるでしょう。

習得難易度は高いの?

はっきり申し上げますと、Javaの経験年数にもよりますが、かなり難易度は高いです。

膨大な数のライブラリがあったり、設定ファイルがあったりと覚えるのが大変ですし、日本語情報も少ないです。

敷居が高いので、Java初心者でこれからWebアプリ開発を始めたいという方は易しめの「Spring Boot」から入った方がよいかもしれません。

【Spring Boot】概要的な知識

MVCとは?

モデル(M)、ビュー(V)、コントローラ(C)のWebの代表的な3層パターンことですが、さらに下記の二つのパターンに分かれます。

  • アクションベース
  • コンポーネントベース

なお、Spring MVCは、「アクションベース」のMVCパターンを採用しています。

アクションベース

リクエストによって、実行するアクションを決定し、処理の結果をHTMLとして返すことです。

メリット

仕組みが単純で理解しやすく、拡張性が高いこと。

代表的な他のフレームワーク

  • Struts
  • Seasar2

コンポーネントベース

リクエストや、レスポンスを開発者に意識させることなく、画面ベースに開発していくフレームワークです。

メリット

ボタン、入力フィールド等の画面部品を共通化しやすい点。

代表的な他のフレームワーク

  • JSF

Spring MVCの特徴

MVCといわれると、WebアプリのMVCを全て作ることができそうですが、基本的には「プレゼンテーション層(VとCの部分)」がメインになります。

M(データ管理)の部分に関しては、データベース管理に必要な各種機能を利用していくことになります。

また、VEIWの部分に関しても、全体フローを管理していく「Spring Web Flow」といったものと組み合わせて構築していくことになります。

サードパーティライブラリとの連携が充実

  • JSONを操作できる、「Jackson」
  • レイアウトエンジンの「Apache Tiles」
  • テンプレートエンジンの「FreeMarker」
  • RSS/Feed操作の「Rome」
  • 帳票出力の「JasperReorts」
  • Bean Validationの「Hibernate Validator」
  • 日付操作の「Joda-Time」

その他特徴

  • POJO(Plain Old Java Object)で実装されている。
  • アノテーションベースで設定ができる。
  • Servlet APIが抽象化されている。
  • Spring DIとの連携機能がある。
  • 「Spring Roo」というツールを使えば、プロジェクトを自動生成できる。

Spring Roo(スプリング・ルー)

簡単なコマンドだけで、アプリ本体からMVCファイル、ユニットテストコード、アクセス制御までを自動生成してくれます。

「超高速開発」という意味では、「Railsライク」といえるでしょう。

スポンサーリンク
  • 2018 05.06
  • miyabisan2
  • 1件のコメント
  • Spring Framework
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.13

    【Spring Framework】AOP(アスペクト指向プログラミング)を「AspectJ」で実装してみる。

  2. 2018 05.13

    【Spring Framework】AOP(アスペクト指向プログラミング)を実装してみる。(設定ファイルから実装)

  3. 2018 05.06

    【Spring Framework】DI(依存性の注入)を実装してみる。(アノテーションによる設定用クラスから)

  4. 2018 05.20

    【Spring MVC】サンプルアプリを作成しよう。(HelloWorld)

  5. 2018 05.13

    【Spring Framework】AOP(アスペクト指向プログラミング)を実装してみる。(設定クラスから実装)

  6. 2018 05.19

    【Spring Boot】「Thymeleaf(タイムリーフ)」で画面にまとまった値を渡そう。

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Spring Framework】10年以上に渡る歴…

【Spring Framework】Springのコア…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー