Spring Boot(Marven+テキストエディタ)でHello world!
はじめに
本家のドキュメントを見ながらHello worldを試しました。
今後、本家のドキュメントは更新されていくと思うので、
魚拓として、java, marven, springのバージョンは下記の状態で行うとこうなりましたよ、という記録を残しておきます。
$ java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 13.0.2, vendor: N/A, runtime: /usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.4", arch: "x86_64", family: "mac"
$ spring --version
Spring CLI v2.2.6.RELEASE
プロジェクトのフォルダを作る
名前はとりあえず「spring-boot-hello」とします。
$ mkdir spring-boot-hello
$ cd spring-boot-hello
POM.xmlを作る
spring-boot-helloフォルダの直下に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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
</parent>
<description/>
<developers>
<developer/>
</developers>
<licenses>
<license/>
</licenses>
<scm>
<url/>
</scm>
<url/>
<!-- Additional lines to be added here... -->
</project>
このpom.xmlは
RubyOnRailsであればGemfile
JavaScript系であればpackage.json
にあたるファイルだと思ってます。
依存関係を追加する。
Webサービスの開発に必要な「spring-boot-starter-web」をpom.xmlに追加します。
Addtional lines to be add hereの後に下記を追加しまし。
(本家ドキュメントはparentの下と書かれてましたが、こっちの方が良いかなと思って勝手にこっちに書いてみました。)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
貼り付ける際にはネストなど気をつけてください。
依存関係を確認するには下記のコマンドを叩きます。
$ mvn dependency:tree
webサービスを動かすのに必要な様々な機能が依存関係として表示されたと思います。
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< com.example:myproject >------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ myproject ---
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:2.2.6.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter:jar:2.2.6.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:2.2.6.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.6.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.6.RELEASE:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | | +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | | | \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.12.1:compile
[INFO] | | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] | | \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] | +- org.springframework:spring-core:jar:5.2.5.RELEASE:compile
[INFO] | | \- org.springframework:spring-jcl:jar:5.2.5.RELEASE:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.25:runtime
[INFO] +- org.springframework.boot:spring-boot-starter-json:jar:2.2.6.RELEASE:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.3:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.3:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.10.3:compile
[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.3:compile
[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.3:compile
[INFO] | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.3:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.6.RELEASE:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.33:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.33:compile
[INFO] | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.33:compile
[INFO] +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.6.RELEASE:compile
[INFO] | +- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] | \- org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] | \- com.fasterxml:classmate:jar:1.5.1:compile
[INFO] +- org.springframework:spring-web:jar:5.2.5.RELEASE:compile
[INFO] | \- org.springframework:spring-beans:jar:5.2.5.RELEASE:compile
[INFO] \- org.springframework:spring-webmvc:jar:5.2.5.RELEASE:compile
[INFO] +- org.springframework:spring-aop:jar:5.2.5.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:5.2.5.RELEASE:compile
[INFO] \- org.springframework:spring-expression:jar:5.2.5.RELEASE:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.657 s
[INFO] Finished at: 2020-04-28T14:40:57+09:00
[INFO] ------------------------------------------------------------------------
コードを書く
src/main/java/
というフォルダ階層を作り、その下にExample.javaというファイルを作ります。
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
実行する
$ mvn spring-boot:run
だだだーとターミナル上に色々表示されますが、
下記のロゴが出てれば成功だと思います。
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.6.RELEASE)
ブラウザで確認
にアクセスするとHello Worldと表示されました。
以上となります。
ソースはgithubに置いてます。
Author And Source
この問題について(Spring Boot(Marven+テキストエディタ)でHello world!), 我々は、より多くの情報をここで見つけました https://qiita.com/aoyaman/items/55c064eb3da2172e29af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .