[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] Javaのインストール(プログラム開発・入門用)

Javaのコードを書きたい!! という目的のためのJavaのインストール方法と、コマンドラインでの

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[Java] 文字列の分割(split)

こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize

記事を読む

no image

[java] 文字列の一部を切り取る方法(substring)

こんにちは。 今回は文字列の一部を切り取る方法について解説します。 具体的には、String

記事を読む

no image

[Java][Spring] Spring3でDIしてみる!(アノテーション使用)

Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを

記事を読む

no image

[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[Java][Framework] Play Framework入門

今回は、Javaの比較的新しいWeb Frameworkである、Play Frameworkを試して

記事を読む

スポンサードリンク

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のインストールとかする。 このあたり。

→もっと見る

  • 2022年11月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
  • 2022年11月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
PAGE TOP ↑