[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)

公開日: : Framework, Java , , , ,

STSインストール

STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールインワンパッケージ。
素のEclipseに後付けでSpring関連プラグインを追加することができるようですが、
私はうまくいかなかったので、今回はSTSそのものを使用。

以下URLからダウンロードします。

https://spring.io/tools/sts

Mavenインストール

とりあえず、このあたりからMavenをとってきてインストール。

https://maven.apache.org/download.cgi

Mavenプロジェクト作成

下記コマンドでプロジェクト作成
おまじないです。
「SpringBootProject」がプロジェクト名です。

$ mvn -B archetype:generate -DgroupId=com.example -DartifactId=SpringBootProject -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart

Eclipseへインポート

上部メニューの「ファイル」→「インポート」から、
「Existing Maven Projects」を選択。

右上の「参照」ボタンで先ほど作成した「SpringBootProject」を選択する。

※インポートでエラーが発生し、プロジェクト名のところに赤い×がついている場合、無視でOK。

SpringBootの設定

pom.xmlに以下を追記。
DB接続はpostgresqlで設定しているが、DBに合わせて変更要。
ググるとでてくるとおもう。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.3.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>8.3-603.jdbc4</version>
    </dependency>
</dependencies>

DB接続設定

プロジェクト直下に「application.properties」ファイルを作成。
以下を記述。
postgresql以外で設定する場合、適宜変更要。
ググると情報でてくるはず。

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driverClassName=org.postgresql.Driver

Javaクラス作成

Javaクラスを作成する。コピペでOK。

●com.example.App

package com.example;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import com.example.entity.TestData;
import com.example.repository.TestDataRepository;

@RestController
@EnableAutoConfiguration
public class App {

    @Autowired
    TestDataRepository repository;

    @RequestMapping("/")
    String home(){
        return "Hello World!!";
    }

    @RequestMapping("/getData")
    List<TestData> testData(Model model){

        // DBからデータ取得
        List<TestData> list = repository.findAll();

        return list;
    }

    @RequestMapping("/getDataForHtml")
    ModelAndView testData(ModelAndView mav){

        // DBからデータ取得
        List<TestData> list = repository.findAll();

        // テンプレート名指定
        mav.setViewName("testThymeleaf");
        // 動的項目設定
        mav.addObject("messages", list);

        return mav;
    }

    public static void main(String[] args){
        SpringApplication.run(App.class, args);
    }
}

●com.example.entity.TestData ※Entityクラス

package com.example.entity;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity(name="item_master")
public class TestData {

    @Id
    private Long id;
    private Long value;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getValue() {
        return value;
    }

    public void setValue(Long value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

●com.example.repository.TestDataRepository

package com.example.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.example.entity.TestData;

@Repository
public interface TestDataRepository extends JpaRepository<TestData, Long>{
}

DB設定

今回は「item_master」というテーブルを作成し、
「id」「value」「name」という3つの項目を作成しています。
このあたりは適宜やってください。

実行

App.javaを右クリックして、「Run As」→「Spring Boot App」を選択。

ブラウザを開いて、以下URLにアクセスし、DBに設定したデータが表示されれば成功です。

http://localhost:8080/getData

http://localhost:8080/getDataForHtml

スポンサードリンク

関連記事

no image

[Java] 日付の計算方法(DateFormat、Date、Calendar)

こんにちは、kei0310です。 Javaで日付を計算する方法について解説します。 まず

記事を読む

no image

[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成

こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。

記事を読む

no image

[Java] テキストファイルの読み込み方法

こんにちは、今回はテキストファイルをJavaで読む方法を紹介します。 標準で提供されているクラ

記事を読む

no image

[Java][MySQL] JavaからMySQLを使う方法

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][基本] mainメソッドの書き方

こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2025年4月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
  • 2025年4月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
PAGE TOP ↑