SpringBoot日语大入门
接下来带大家看看SpringBoot是如何为应用程序开发大加油门而助力拳脚的吧.从入门到入神(入门介绍读得越多,越能预见SpringBoot的要领吧.).在这里我们也就只是小品一下SpringBoot的香味.若是想要独创SpringBoot的最佳项目的话,请移驾SpringInitializr,输入项目的详细细节,选取相应的选项,下载zip的压缩包项目.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uU2thEEG-1617290786642)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
打造项目
使用SpringBoot可以轻松地创建web应用程序,并追加一些便利的服务.
必备武器
大约15分钟
你所青睐的集成开发软件或者IDE
JDK1.8:Oracle以上的版本(比如说下个版本1.9等)
[Gradle 4+] 或者 [Maven 3.2+: Apache ]
也可以直接在IDE引入代码
- [Eclipse Spring Tool Suite (STS)]
- [IntelliJ IDEA ]
完毙此攻略技能(结束这个介绍的方法)
和绝大多数的Spring入门介绍相同,可以从最初开始逐个步骤攻陷,上手了的话也可以走捷径按基本的那一套步骤来.总之,最终搞定并能够运作的代码就成.
从最初步骤开始,请从SpringInitializr开始进行操作.
跳过基本步骤的话,按照以下的顺序操作.
该介绍可以用 Eclipse 导入Spring入门大集结,也可以下载原始库解压,或者使用Git来创建克隆.
请越过制作简单的web应用程序
完成的时候,可以确认到gs-spring-boot/complete
的代码结果.
学习SpringBoot技能
SpringBoot提供了快速创建应用程序的方法.调用设置了类路径的Bean,关于一些不够齐全的属性(也许说的是属性,我不确定)创建一个合理的假设,并追加这些项目.使用SpringBoot的话,不是含糊其辞而是可以更集中在商业机能上.
如下的例子可以显示SpringBoot的功能.
- SpringMVC在类路径上吗?基本上就有那么几个必要的特定的Bean,SpringBoot会自动追加它们.在SpringMVC应用程序上也需要Servlet容器,SpringBoot会自动创建嵌入式Tomcat
- Jetty在类路径上吗?如果有的话,恐怕就不需要Tomcat,取而代之则需要嵌入式Jetty.SpringBoot会处理它.
- Thymeleaf在类路径上吗?这种场合,在应用程序上下文就有若干个Bean需要追加.SpringBoot会追加它们.
这只不过是SpringBoot提供的自动装配的微不足道的一个例子.同时,SpringBoot还不碍事.例:Thymeleaf在路径上的话,SpringBoot会自动在上下文追加SpringTemplateEngine
.但是,使用单独的设定定义单个SpringTemplateEngine
的话,SpringBoot是不会追加的.依此,可以抑制几乎省去了一部分的苦力.
SpringBoot生成代码,不需要编译文件.取而代之的是启动应用程序的话,SpringBoot会主动与Bean和设置绑定,使用于应用程序上下文.
从Spring Initializr开始
使用Maven的话,访问Spring Initializr,生成一些需要的依赖关系的新项目(SpringWeb).
以下的列表,显示的是选择Maven时要创建的pom.xml文件(pom.xml文件不是创建的,创建maven工程,项目里会自带,不过要添加Maven依赖)
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>COPY
使用Maven的话,访问Spring Initializr,生成一些需要的依赖关系的新项目(SpringWeb).
以下列表,显示的是选择Gradle时作成的build.gradle文件
plugins {
id 'org.springframework.boot' version '2.4.4'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}COPY
手动初始化(选项)
不是使用前面显示的连接,而是手动初始化项目的情况,请按以下的顺序.
-
请移动到https://start.spring.io.该服务会将应用程序所需的所有依赖关系导入,进行绝大部分的装配.
-
Gradle或者Maven无论哪个,选择使用的语言.该介绍是以选择JAVA为前提的.
-
点击依赖关系,选择SpringWeb.
-
点击生成.
-
下载zip压缩包.这是选择构成的web应用程序的归档.
同Eclipse 和 IntelliJ IDEA等一样在IDE上让Spring Initializr整合的话,即使不用浏览器访问,下载,导入也可以使用IDE完成这个进程.
创建简单的WEB应用程序
就像下面列表显示的意义也可以创建单纯的web应用程序用的web控制器.
package com.example.springboot;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}COPY
该类使用了 @RestController
注解.这是为了表示SpringMVC处理web请求是可以使用的状态.(什么鬼,这个注解是@ResponseBody和@Controller的结合).@RequestMapping
是通过/
index()
映射方法.通过浏览器,或者命令行打开curl的话,方法返回纯文本.这是@RestController
将@Controller
和 @ResponseBody
组合在一起的缘故.这个不是视图而是返回数据带回web请求的两个注解.
Spring Boot アプリケーションの作成
このガイドでは、Spring Boot: GitHub (英語) がどのようにしてアプリケーション開発を加速させるのに役立つかを紹介しています。Spring 入門ガイドを読み進めていくと、Spring Boot のユースケースがより多く見えてくるでしょう。このガイドは、Spring Boot を簡単に体験していただくことを目的としています。独自の Spring Boot ベースのプロジェクトを作成したい場合は、Spring Initializr (英語) にアクセスして、プロジェクトの詳細を入力し、オプションを選択し、zip ファイルとしてバンドルされたプロジェクトをダウンロードしてください。
構築するもの
Spring Boot を使用して簡単な Web アプリケーションを構築し、それに便利なサービスを追加します。
必要なもの
- 約 15 分
- お気に入りのテキストエディターまたは IDE
- JDK 1.8: Oracle (英語) 以降
- Gradle 4+ (英語) または Maven 3.2+: Apache (英語)
- コードを直接 IDE にインポートすることもできます。
このガイドを完了する方法
ほとんどの Spring 入門ガイドと同様に、最初から始めて各ステップを完了するか、すでに慣れている場合は基本的なセットアップステップをバイパスできます。いずれにしても、最終的に動作するコードになります。
最初から始めるには、Spring Initializr から開始に進みます。
基本をスキップするには、次の手順を実行します。
- このガイドを Eclipse で「Spring 入門コンテンツのインポート」するか、ソースリポジトリをダウンロードして解凍、または、Git (英語) を使用してクローンを作成します。
git clone https://github.com/spring-guides/gs-spring-boot.git (英語)
gs-spring-boot/initial
に cd- 簡単な Web アプリケーションを作成するにジャンプしてください。
完了したときは、gs-spring-boot/complete
のコードに対して結果を確認できます。
Spring Boot でできることを学ぶ
Spring Boot は、アプリケーションを迅速に構築する方法を提供します。クラスパスと設定した Bean を調べ、不足しているものについて合理的な仮定を立て、それらの項目を追加します。Spring Boot を使用すると、インフラストラクチャではなくビジネス機能に集中できます。
以下の例は、Spring Boot ができることを示しています。
- Spring MVC はクラスパスにありますか? ほとんど常に必要な特定の Bean がいくつかあり、Spring Boot はそれらを自動的に追加します。Spring MVC アプリケーションにはサーブレットコンテナーも必要なので、Spring Boot は組み込み Tomcat を自動的に構成します。
- Jetty はクラスパスにありますか? もしそうなら、おそらく Tomcat は必要なく、代わりに組み込み Jetty が必要です。Spring Boot がそれを処理します。
- Thymeleaf はクラスパスにありますか? その場合、アプリケーションコンテキストに常に追加する必要がある Bean がいくつかあります。Spring Boot はそれらを追加します。
これらは、Spring Boot が提供する自動構成のほんの一例です。同時に、Spring Boot は邪魔になりません。例: Thymeleaf がパス上にある場合、Spring Boot は SpringTemplateEngine
をアプリケーションコンテキストに自動的に追加します。ただし、独自の設定で独自の SpringTemplateEngine
を定義した場合、Spring Boot は追加しません。これにより、一部の労力をほとんどかけることなく制御できます。
Spring Boot は、コードを生成したり、ファイルを編集したりしません。代わりに、アプリケーションを起動すると、Spring Boot は Bean と設定を動的に結び付け、アプリケーションコンテキストに適用します。 | |
---|---|
Spring Initializr から開始
Maven を使用する場合は、[Spring Initializr (英語) ](https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.4.4.RELEASE&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=spring-boot&name=spring-boot&description=Demo project for Spring Boot&packageName=com.example.spring-boot&dependencies=web)にアクセスして、必要な依存関係を持つ新しいプロジェクト(Spring Web)を生成します。
次のリストは、Maven を選択したときに作成される 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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>COPY
Gradle を使用する場合は、[Spring Initializr (英語) ](https://start.spring.io/#!type=gradle-project&language=java&platformVersion=2.4.4.RELEASE&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=spring-boot&name=spring-boot&description=Demo project for Spring Boot&packageName=com.example.spring-boot&dependencies=web)にアクセスして、必要な依存関係を持つ新しいプロジェクト(Spring Web)を生成します。
次のリストは、Gradle を選択したときに作成される build.gradle
ファイルを示しています。
plugins {
id 'org.springframework.boot' version '2.4.4'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}COPY
手動初期化 (オプション)
前に示したリンクを使用するのではなく、プロジェクトを手動で初期化する場合は、以下の手順に従ってください。
- https://start.spring.io (英語) に移動します。このサービスは、アプリケーションに必要なすべての依存関係を取り込み、ほとんどのセットアップを行います。
- Gradle または Maven のいずれかと、使用する言語を選択します。このガイドは、Java を選択したことを前提としています。
- 依存関係をクリックして、Spring Web を選択します。
- 生成をクリックします。
- 結果の ZIP ファイルをダウンロードします。これは、選択して構成された Web アプリケーションのアーカイブです。
Eclipse や IntelliJ IDEA などのように IDE に Spring Initializr が統合されている場合は、ブラウザーでアクセス、ダウンロード、インポートしなくても、IDE からこのプロセスを完了することができます。 | |
---|---|
簡単な Web アプリケーションを作成する
次のリスト(src/main/java/com/example/springboot/HelloController.java
から)が示すように、単純な Web アプリケーション用の Web コントローラーを作成できるようになりました。
package com.example.springboot;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}COPY
このクラスには @RestController
のフラグが付いています。これは、Spring MVC が Web リクエストを処理するために使用できる状態であることを意味します。@RequestMapping
は、/
を index()
メソッドにマップします。ブラウザーから、またはコマンドラインで curl を使用して呼び出された場合、メソッドは純粋なテキストを返します。これは、@RestController
が @Controller
と @ResponseBody
を組み合わせているためです。これは、ビューではなくデータを返す Web リクエストをもたらす 2 つのアノテーションです。