Spring BootはSpringフレームを素早く構築します.


Springはオープンソースフレームであり、Springは2003年に興った軽量級Java開発フレームであり、Rod Johnが著書Expert One-One J 2 EE Development and Designで述べた部分理念と原型から派生している.企業の応用開発の複雑さを解決するために作られました.フレームワークの主要な利点の一つは、階層構造は、J 2 EEアプリケーションの開発に統合されたフレームワークを提供するために、使用者がどのコンポーネントを使用するかを選択することを可能にする.Springは基本的なJavaBeanを使って、これまでEJBでしかできなかったことを完成させます.ただし、Springの用途はサーバ端の開発に限られない.単純性、試験可能性、および松結合の観点から、JavaアプリケーションはいずれもSpringから恩恵を受けることができる.Springのコアは制御反転(IoC)と面向面(AOP)である.簡単に言えば、Springは階層的なJavaSE/EEfull-stack(ワンストップ式)の軽量級のオープンソースフレームである.
        Spring BootはSpringフレームの新しいサブプロジェクトで、Spring 4.0プロジェクトを作成します.開発は2013年から始まりました.2014年4月に1.0.0バージョンをリリースします.Springの各種コンポーネントは自動的に構成できます.コード生成やXML設定ファイルに依存していません.Spring Bootは、一般的なシーンに対する推奨コンポーネント構成も提供する.Spring BootはSpringフレームを使用した場合の開発効率を大幅に向上させることができます.ここではSpring Bootについて詳しく紹介します.
Spring Bootに含まれる特性は以下の通りです.
1、独立して動作できるSpringアプリケーションを作成します.
2、直接TomcatまたはJettyサーバに埋め込み、WARファイルの配置は不要です.
3、お勧めの基礎POMファイルを提供して、Apphe Mavenの配置を簡略化します.
4、できるだけプロジェクト依存でSpringフレームを自動配置する.
5、直接生産環境で使用できる機能を提供します.性能指標、応用情報及び応用健康検査など.
6、コード生成もXMLプロファイルもありません.
新しい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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>SpringBootSimple</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
 <spring.boot.version>1.1.4.RELEASE</spring.boot.version>
</properties>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 <version>${spring.boot.version}</version>
 </dependency>
</dependencies>
<build>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
 <executions>
 <execution>
 <goals>
 <goal>repackage</goal>
 </goals>
 </execution>
 </executions>
 </plugin>
 </plugins>
</build>
</project>
        上記のpom.xmlファイルからは、他のSpringプロジェクトのように多くの依存性を表明する必要がないアプリケーションの依存性が見られます.Mavenコマンド「mvn dependency:tree」を使用してプロジェクトの実際の依存を確認すると、Spring MVCフレーム、SLF 4 J、ジャックソン、Hybernate Validator、Tomcatなどの依存が含まれていることが分かります.これは実際Springで推奨されているWebアプリケーションで使用されるオープンソースライブラリの組み合わせです.
Spring Bootを呼び出してJavaコードを適用します.具体的には以下の通りです.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class Application {
	@RequestMapping("/")
	String index() {
		return "www.yoodb.com";
	}

	public static void main(String[] args) throws Exception {
		SpringApplication.run(Application.class, args);
	}
}
        Apple.javaクラスは、独立して動作する簡単なWebアプリケーションです.Javaクラスを直接実行すると、埋め込まれたTomcatサーバが8080ポートで動作します.アクセスhttp://localhost:8080ページに「wwww.yoodb.com」と表示されています.簡単な2つのファイルだけで独立して実行するWebアプリケーションを起動できます.Tomcatのようなアプリケーションサーバを追加的にインストールする必要はありません.WARファイルに包装する必要もありません.このアプリケーションは、「mvn spring-boot:run」を介してコマンドラインで起動することができます.pom.xmlファイルに「org.springframe ebook.boot:spring-boot-maven-plugin」プラグインを追加しました.このプラグインを追加した後、「mvn package」を実行してパッケージ化すると、直接実行できるJARファイルにパッケージ化され、「java-jar」コマンドを使用して直接実行できます.アプリケーションの配置が大幅に簡略化されており、JREを設置するだけで実行できます.
「@EnbaleAutoConfigration」の注釈は、Spring Bootがアプリケーションによって宣言された依存性に基づいてSpringフレームを自動的に配置し、開発者の作業量を減少させる役割を果たしています.注釈「@RestController」と「@Request Mapping」はSpring MVCから提供され、RESTサービスを作成するために使われます.この二つの注釈はSpring Boot自体とは関係がない.