[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)
公開日:
:
Framework, Java Java, maven, Spring, Spring MVC, Sprint Boot
STSインストール
STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールインワンパッケージ。
素のEclipseに後付けでSpring関連プラグインを追加することができるようですが、
私はうまくいかなかったので、今回はSTSそのものを使用。
以下URLからダウンロードします。
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に設定したデータが表示されれば成功です。
スポンサードリンク
関連記事
-
[Java][MySQL] JavaからMySQLを使う方法
MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。
-
[Java][基本] mainメソッドの書き方
こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。
-
[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成
こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解
-
[Java] CSVファイルの読み込み方法
こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。
-
[Java][Servlet] EclipseでのJavaServlet作成
こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse
-
[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成
こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。
-
[Java][Servlet][JSP] ServletからJSPへの転送
こんにちは。 今回は、「Servletでリクエストを受けて、JSPで表示する。」方法を解説しま
-
[Java][Framework] Play Framework入門
今回は、Javaの比較的新しいWeb Frameworkである、Play Frameworkを試して
-
[Java] Javaのインストール(プログラム開発・入門用)
Javaのコードを書きたい!! という目的のためのJavaのインストール方法と、コマンドラインでの
-
[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法
Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな