本稿はSpring Frameworkのプロジェクトの作成~基本的な動作を説明します。
主な項目は以下の通り。
・プロジェクトの作成&初期動作確認
・DB接続(MySQLを使用)
・DI
・画面で入出力
・AOP ※AOPに関してはこちらを参照
前提
eclipse, tomcatのインストールをしている。(まだの方はこちら)
eclipseにSpringのプラグインを導入している。(まだの方はこちら)
本稿はWindows OSを前提として進めます。(読み替え可能なら他のOSでも問題なし)
プロジェクトの作成
プロジェクトの作成はこちらの記事を参照してください。
※今回のプロジェクトタイプは「Spring MVC Project」、プロジェクト名は「SpringMVC」、パッケージ名は「com.example.springmvc」にして下さい。
サーバーの設定とプロジェクトの紐づけ
こちらを参照してください。
動作確認
この段階で、とりあえずデフォルトの画面が開くかどうか動作チェックをしましょう。
サーバーを起動させた状態で以下のURLを入力して、画面が表示されるか確認しましょう。
http://localhost:8080/springmvc/

表示されない場合はもう一度、設定内容を確認してください。※特にプロジェクト作成の項目をチェック
DBの作成
データベースを使用するので、今回はMySQLを用意します。
Windowsの場合、MySQLを単独でインストールすると色々と設定がめんどくさいので、今回はXAMPPのMySQLを使用します。XAMPPのインストールはこちらを参照。
MySQLにデータベースおよびテーブルを作成しましょう。以下のコマンドを実行します。
|
CREATE DATABASE spring_db CHARACTER SET utf8 COLLATE utf8_bin; USE spring_db; CREATE TABLE users ( |
JDBCを記載
pom.xmlに以下の記述を追加しましょう。
|
<!-- JDBC --> <!-- CGLIB --> |
※ついでにCGLIBというライブラリも記載しておきましょう。このライブラリはInterfaceの実装でないbeanをInjectionする際に必要となります。
DB接続設定
「src/maim/resources」に以下の内容の「jdbc.properties」ファイルを作成しましょう。
|
jdbc.driverClassName=com.mysql.jdbc.Driver |
DB設定用のクラスを用意します。
「com.example.springmvc.config」パッケージを作成して、以下の内容の「DBConfig.java」を作成しましょう。
|
@Configuration @Autowired @Bean @Bean @Bean |
@PropertySourceで先ほど作成した「jdbc.properties」を読み込み、datasource()メソッド内で設定内容をリターンしています。
メソッド内を見るとenvironmentから設定を取得していることが分かります。
このように、読み込まれた設定情報は自動的にEnvironmentにインジェクションされます。
後述しますが、あるクラスからDBアクセスをする際にはJdbcTemplateクラスを通してDBへアクセスすることになります。
DataSourceTransactionManagerはトランザクションが発生する際に使用することになります。
DBの設定は以上となります。
DBから値を取得
それでは実際にDBから値を取得しましょう。
デフォルトで用意されているHomeControllerを以下のように書き換えましょう。
|
@Controller private static final Logger logger = LoggerFactory.getLogger(HomeController.class); @Autowired @RequestMapping(value = "/", method = RequestMethod.GET) Date date = new Date(); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate); //ユーザーを取得 model.addAttribute("users", users); return "home"; } |
インジェクションしたJdbcTemplateを通じてDBにアクセスしています。
これをmodelに格納することで画面側で格納した値を使用することができるようになります。
画面への出力
デフォルトで用意されている「home.jsp」にユーザー情報を表示する処理を追加します。
usersはList<MAP<String, Object>>型なので、for文で回してMAPのキー名を指定して値を取得します。
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <P> The time on the server is ${serverTime}. </P> <c:forEach var="user" items="${users}"> </html> |
Maven ビルド
実際に画面を確認したいので、プロジェクトをMavenでビルドしましょう。
プロジェクトを右クリック → 実行 → 「Maven ビルド」を選択します。

ゴールの項目に「package」と入力して実行ボタンを押しましょう。

「BUILD SUCCESS」が表示されれば成功です。
ユーザー情報出力の確認
画面を確認してみましょう。
サーバーを起動させてhttp://localhost:8080/springmvc/にアクセスします。

上記のようにユーザー情報が表示されればOKです。(無論、本番でパスワード表示などありえないですが)
- インストール(eclipseプラグイン)
- クイックスタート
- プロジェクトの作成
- Spring Bootプロジェクトの作成
- Spring Bootプロジェクトの実行
- Spring BootでHello World!
- アノテーション一覧
- DB接続設定からエンティティおよびリポジトリの作成、値の取得まで(JPA編)
- DB接続設定や値の取得(JdbcTemplate編)
- ビューから値をモデルに格納しコントローラーで受け取る方法
- コントローラーにてモデルに値を格納してビューに渡す方法
- テンプレートエンジン
- ModelとModelAndViewの違い
- AOPの使用方法
- classpath: 内部ファイルの読み込み
- file: 外部ファイルの読み込み
- CSVファイルアップロード方法(Ajax)
- CSVファイルダウンロード方法(Ajax)
- Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
- Application.propertiesの環境依存設定の分割方法
- JPAにおけるEntityManagerの取得方法
- JPAにおけるjava.sql.Connectionの取得方法
- エラー一覧
- jarの引数を受け取る方法
- Spring BootでGmailからメール送信
- 複数のDBに接続する設定(Spring Boot & JPA編)
- ポート番号の変更
- Basic認証の実装と特定のURLに限定する方法
- Spring SecurityのBasic認証の無効化
- 独自のエラーページを定義する方法
- プロパティファイルの値やjar実行時の引数を取得する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38