プログラミングマガジン

プログラミングを中心に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.20

    【Spring MVC】プロジェクトの作成及び、アプリの起動まで。

  2. 2018 05.13

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

  3. 2018 05.20

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

  4. 2018 05.06

    【Spring Framework】Springによる開発を始めよう(STSのインストール~「Hello World」まで)

  5. 2018 05.13

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

  6. 2018 05.19

    【Spring Boot】「Thymeleaf(タイムリーフ)」でビューを作ろう。(Hello World)

  • コメント ( 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 ©  プログラミングマガジン | プライバシーポリシー