似非プログラマのうんちく

「似非プログラマの覚え書き」出張版

春だから Spring やろうぜ(その 3)

STS(Spring Tool Suite) を使う

さて、コマンドライン + Groovy でもまぁ簡素な Web アプリは作れたが、やはり本格的な開発には STS(Spring Tool Suite) が欲しいところなのでダウンロードしてくる。

spring.io

f:id:redcat_prog:20180325192825p:plain

eclipse ベースなので見た目はほとんど eclipse ですね。

「Spring Starter Project」を作成する。

f:id:redcat_prog:20180401094635p:plain

「Type」はビルドツールを選べる(Maven, Gradle)。今回は私の慣れの問題で Maven にします。
Java Version」は 7, 8, 9 から選べた。これはそろそろ Java 9 への移行か ? でもまだ Java 9 はインストールしてないので今回は Java 8 で。
「Language」は Java, Groovy の他に Kotlin も選べる。こんなところにも Kotlin 進出かー。でも今回は普通に Java を選択。

f:id:redcat_prog:20180401112703p:plain

Spring Boot のバージョンを選んだりいろいろできるっぽい。今回はもちろん 2.0.0 です。
後々データベースを使うことを考えて JPA, H2, Thymeleaf, Web を ON にします。


出来上がったプロジェクトの pom.xml を見るとこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>jp.mydns.akanekodou</groupId>
	<artifactId>SpringDemo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>SpringDemo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<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>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

とりあえずこいつをいろいろいじっていけばいいのかな?