序文
Spring Bootは、Pivotalチームによって提供されるまったく新しいフレームワークであり、その設計目的は、新しいSpringアプリケーションの初期セットアップと開発プロセスを簡素化することです。フレームワークは、構成の原則に同意することにより、構成を簡素化します。Spring Bootは、急速なアプリケーション開発の急成長分野のリーダーになることを約束しています。Spring Bootは現在、主要なインターネット企業で広く使用されており、次の特徴があります。
- スタンドアロンのSpringアプリケーションを作成する
- 組み込みTomcat、WARファイルをデプロイする必要はありません
- Maven構成を簡素化する
- Springの自動構成
- インジケーター、ヘルスチェック、外部構成などの本番環境に対応した機能を提供します
- コード生成やXMLの構成要件はまったくありません
また、SpringBootはSpringCloudおよびDockerと完全に統合できるため、SpringBootを学ぶ必要があります。そして、その内部実装の原則を理解します。この共有を通じて、Spring Bootの使用方法を学ぶだけでなく、その内部実装の原則を学び、深い理解を得ることができます。
SpringBootとは何ですか?
使いやすい限り、彼女が何であるかは気になります!!!しかし、どうしようもなく、履歴書に「ProficientinSpringBoot」と書いた。。。それは大まかにSpringBootが何であるかでなければなりません!
春は誰もが使っていると信じています。食べたい、ご飯を炊く、油、塩、ソース、酢を自分で加える(構成)、よく混ぜるなどの構成がたくさんあります。あなたは食べることができます。、
SpringBootは違います、ただあなたに香りのよいビーフラーメンのボウルを持ってきてください、すごい、とても香りがよい、、、、(まあ、私がこのブログを書いたとき私は食べませんでした、ただ想像してください)、あなたはそれをむさぼり食うことができます。何?彼女にあなたのために噛んで食べさせたいですか?!!!あなたから抜け出しなさい。。。
1. SpringBootについて
Spring Bootの誕生はSpringと密接に関係しているため、Spring Bootを理解する前に、Springを理解する必要があります。SpringBootは、ある程度Springの開発の産物ですが、Springに代わるものではありません。SpringBootプログラマーがSpringをよりよく使用できるようにすることです。そういえば混乱する方もいらっしゃるかもしれませんが、SpringとSpring Bootはどのようなつながりがあるのでしょうか?
1.春の歴史
始める前に、Springについて理解しましょう。Springの前身はinterface21です。このフレームワークは、元々、EJB開発の面倒で肥大化した問題を解決するために設計されました。これは、J2EEに別のシンプルで実用的なソリューションを提供し、2004年3月にリリースされました。 。Spring1.0の公式バージョン以降、Java業界で広く注目され、注目を集めました。それ以来、SpringはJava業界でまばゆいばかりのスターになりました。かけがえのないものになり、J2EE開発で現実のものになりました。意味彼の創設者であるロッド・ジョンソンもその後、名声と富で有名になり、今では人生の頂点に乗り出した優れた天使の投資家です。
2. SpringBootが誕生しました
Springがとても良いのに、なぜその後もSpring Bootがあるのですか?
Springは、Springの開発に伴ってますます人気が高まっているため、Springは、小さくて洗練されたフレームワークから、幅広く包括的なフレームワークに徐々に変化しています。一方、nodejsなどの新しいテクノロジーの開発により、 golang、Ruby Springの台頭は次第に面倒になり、面倒なXML構成やサードパーティの統合構成が多数あるため、Springユーザーは苦痛を感じています。現時点では、これらの問題を解決するためのソリューションが緊急に必要です。
この瞬間、Spring Bootが誕生しました。SpringBootは2013年に研究開発を開始し、Spring Boot 1.0は2014年4月に正式にリリースされました。SpringBootは誕生以来、業界から広く注目されています。多くの個人や企業がSpring Boot 2.0のリリースにより、Spring Bootが再び世間の注目を集め、ますます多くの中規模および大規模企業が正式な本番環境でSpringBootを使用しています。Springの関係者は、Spring Bootを主要なプロモーションプロジェクトとして位置付け、公式Webサイトの上部に配置していることにも言及する価値があります。
3. SpringBootの概要
Spring Bootは、Pivotalチームが提供するまったく新しいフレームワークであり、その設計目的は、Springアプリケーションの初期セットアップと開発プロセスを簡素化することです。フレームワークは特定の構成方法を使用するため、開発者は定型的な構成を定義する必要がなくなります。Spring Bootは実際には、多くのプラグ可能なコンポーネント(フレームワーク)を組み込みツール(組み込みTomcat、Jettyなど)と統合するフレームワークであり、開発者が迅速に構築および開発するのに便利です。
上記の説明は、理解を容易にし、記憶を深めるためのものです。。。公式紹介を見てみましょう:
-
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
-
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
私は仕方がないが翻訳したい:
-
Spring Boot使创建独立的、基于生产级Spring的应用程序变得很容易,您可以“直接运行”这些应用程序。
-
我们对Spring平台和第三方库有自己的见解,这样您就可以轻松入门了。大多数Spring引导应用程序只需要很少的Spring配置。
一般的に、それは彼女が本当に使いやすいことを意味します、彼女はサービスをセットアップするときあなたに多くの面倒な設定とそれを使用した後の経験を節約することができます:「それは死んだ犬のようです」。。。
4. SpringBootの機能
- プロジェクトは迅速に構築され、数秒で完了することができます。
- テストを容易にするために、JUnit、Spring BootTestなどの単純な組み込みの多重テストフレームワークを作成します。
- Spring Bootにより、構成が簡単になります。SpringBootのコアコンセプト:構成に同意し、特定の命名規則に同意すると、構成なしで関数開発を完了できます。たとえば、モデルとテーブル名が一貫している場合、構成なしで直接CRUDを実行できます。 (追加、削除、変更、チェック)テーブル名がモデルと矛盾する場合にのみ、名前を構成します。
- 組み込みのコンテナーは、Tomcatの面倒な構成を保存します。
- Spring Boot Actuatorコンポーネントを使用してアプリケーションのシステム監視を提供する便利な監視により、アプリケーション構成の詳細情報を表示できます。
2.開発環境
Spring Boot 2.0.4
JDK 1.8
IDE:IntelliJ IDEA 2018.2
注:Spring Boot 2.xにはJava8以降が必要であり、Java6およびJava7はサポートされなくなりました。
3つ、開発ツール
IntelliJIDEAとMyEclipse
開発ツールの選択は、すべての初心者が経験して選択する必要があるものです。ベテランの場合は、このセクションを無視してかまいません。
かつてはEclipseとMyEclipseがJavaユーザーを支配していましたが、今では毎年、10年前からMyEclipse6.0を使用してから現在のMyEclipse2017まで、何の変化も感じていないと言っても過言ではありません。同じスキン。カードのレイアウトは、カードの離陸エクスペリエンスと同じです。Googleのガイドラインに従って一連の構成を最適化した後でも、ほとんど効果がありません。
かつて栄光だったノキアを彷彿とさせます。今日まで何が悪かったのかはわかりませんが、時が経つにつれ、時代のリズムに追いつかなくなったら、次のように置き換えられます。何か新しくてより適切なもの。私もMyEclipseの忠実な愛好家だったと言わざるを得ません。一度人が何かを受け入れると、習慣の影響で変更するのは通常困難です。
ただし、今日まで、IntelliJ IDEAは外観と実行速度の点でMyEclipseよりもはるかに優れていることを認めなければなりません。特に、Spring Bootのサポートの点では、IntelliJ IDEAの方が適しているため、IntelliJIDEAが最良の選択です。
4、SpringBootのバージョン番号の説明
公式ウェブサイトのSpringBootバージョンは以下のとおりです。
バージョン番号の後の英語はどういう意味ですか?
具体的な意味は次のとおりです。
- SNAPSHOT:スナップショットバージョン。これは開発バージョンを意味し、いつでも変更できます。
- M1(Mn):Mはマイルストーンの略語で、マイルストーンバージョンです。
- RC1(RCn):RCはリリース候補の略語、つまりリリースプレビューバージョンです。
- リリース:公式バージョン。接尾辞のない公式バージョンを示す場合もあります。
5つのspringBootコア機能
☆ 独立して実行されているSpringプロジェクト:Spring Bootは、java-jarxxxjarなどのjarパッケージの形式で直接実行できます。利点は次のとおりです。サーバーリソースを節約できます。
☆ 埋め込みサーブレットコンテナ:Spring BootはTomcat、Jettyの埋め込みを選択できるため、warパッケージの形式でプロジェクトをデプロイする必要はありません。
☆ Maven構成を簡素化するためのスターターを提供する:Spring Bootプロジェクトでは、多くのspring-boot-starter-xxxプロジェクト(この依存関係をスタートアップ依存関係と呼びます)を提供し、指定されたこれらの座標をインポートしますモジュールに関連する依存関係パッケージは自動的にインポートされます。
たとえば、後の期間にWeb開発にSpring Bootを使用する場合は、spring-boot-starter-webプロジェクトの依存関係をインポートする必要があります。この依存関係をインポートした後!!次に、Spring Bootは、次の図に示すように、Web開発に必要な他の依存関係パッケージを自動的にインポートします。
☆ Springの自動構成:Spring Bootは、jarパッケージおよびクラスパス内のクラスに従ってjarパッケージ内のクラスのBeanを自動的に構成します。これにより、使用する必要のある構成が大幅に削減されます。
もちろん、Spring Bootはすべてのシナリオではなく、ほとんどの開発シナリオのみを考慮します。実際の開発でBeanを自動的に構成する必要があり、Spring Bootが要件を満たせない場合は、自動構成をカスタマイズできます。
☆本番前の アプリケーション監視:Spring Bootは、http、sh、およびtelnetに基づくランタイムプロジェクトの監視を提供します
☆ コード生成とxml構成なし:Spring Bootは、Spring 4.xによって提供される新しい注釈機能を広範囲に使用して、コード生成とxml構成を実現しません。Spring 4.xは、Java構成とアノテーション構成の組み合わせの使用を推奨していますが、Spring Bootは、すべてのSpring構成を実装するためにxml構成を必要としません。
自動構成はどのように行われますか?
Spring Bootは、完了するための多くの条件付きアノテーションを提供します
6.補足コンテンツ:
なんてこったい!?あなたはまだ理解していませんか?彼女をもっと「深く」知りたいですか?さて、それから私はあなたに何かを投稿します(それは少し厄介です、あなたはそれを通して見ることができます):
2018年3月1日の北京時間の朝、Mavenリポジトリに同期
されたときにスケジュールどおりにリリースされたSpring Boot 2.0に問題があり、GitHubでリリースされたv2.0.0.RELEASEが取り消されました。問題が修正された後、Spring Boot 2.0が正式に再リリースされ
、Maven中央倉庫のアドレスが提供されました。これまでのところ、Spring Boot 2.0が正式にリリースされています!
関係者によると、このバージョンは17か月の開発期間を経ており、215人の異なるユーザーが6,800を超える提出物を提供しています。
貢献してくれたすべての人、およびこれらのマイルストーンリリースについて重要なフィードバックを提供してくれたすべてのアーリーアダプターに感謝します。
このバージョンは、4年前にSpring Boot 1.0がリリースされて以来、最初のメジャーリビジョンであり、Spring Framework5.0をサポートする最初の
GA安定バージョンでもあります。
SpringBootはどこにありますか?
とても良いです、このクラスメートには良い質問があります!:
どうですか?この場所に精通している、はい、これは春の家族です、SB(SpringBoot、そして将来的にSBと呼ばれるブログ)もメンバーの1人です、あなたは彼女を春の良い友達と見なすことができます(● '◡' ●)ノ * \(๑•₃•๑)*またはガールフレンド、何でも。。。要するに、彼女は私たちが春に対処するのを非常に便利にしてくれました。
さらに、SpringBoot2.Xの後、それは本当に大きな変更です。
注目に値する新しいバージョンのハイライト:
1. Java 8に基づいており、Java 9をサポートしています。つまり、JDK7以前のバージョンのJDKを使用してSpringBoot2を実行できないわけではありませんが、JDK8 +を公式に推奨しています。使用するかどうかを判断できます。。。。
2.Quartzスケジューラをサポートする
3.安全な自動構成を大幅に簡素化します
4.組み込みNettyをサポートする
5.Tomcat、Undertow、JettyはすべてHTTP / 2をサポートしています
6.真新しいアクチュエータアーキテクチャ、Spring MVC、WebFlux、Jerseyをサポート
7. Spring WebFlux / WebFlux.fnを使用して、レスポンシブWebプログラミングサポートを提供します
8. Reactive Spring Data、Reactive SpringSecurityなどのさまざまなコンポーネントのリアクティブプログラミングの自動構成を提供します。
9.リアクティブSpringData Cassandra、MongoDB、Couchbase、Redisの自動構成とスターターPOM
10. Kotlin 1.2.xのサポートを導入し、runApplication関数を提供して、慣用的なKotlinを介してSpringBootアプリケーションを実行できるようにします。詳細については、リファレンスドキュメントのKotlinサポートセクションを参照してください。
11.起動時のASCIIイメージのSpringBootバナーがGIFをサポートするようになりました。
次に例を示します。
Spring Boot 2.0では、多くの構成プロパティの名前が変更または削除されていることに注意してください。アップグレードを容易にするために、SpringBootは新しいspring-boot-properties-migratorモジュールをリリースしました。プロジェクトへの依存関係として追加されている限り、アプリケーションの環境を分析し、起動時に診断情報を出力するだけでなく、実行時フェーズでプロパティをプロジェクトの新しい構成モードに一時的に移行します。
プログラムをspringboot2.0に移行する際に、このモジュールが必要です。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
</dependency>
注:移行が完了したら、プロジェクトの依存関係からモジュールを削除してください。
エディターからの最後のメリット
以下は、編集者が編集した重要な[Spring Family Bucket]データパッケージとAlibabaインタビューのハイライトです。受け取る必要がある人は、私をクリックして無料で受け取ることができます。プログラミングの世界は、プログラミングを愛するすべての人に常に開かれています。これは自由で平等で共有された世界であり、私は常にこのように信じてきました。
プロフィール写真の一部: