入り口から土壌への春-概要とHelloWorld

最初の記事では、主にSpringの基本概念と、Springプロジェクトをすばやく作成して実行する方法を紹介します。

春の概要

利点

  • Springはオープンソースで無料のフレームワークとコンテナです
  • Springは軽量のフレームワークであり、邪魔になりません。
  • 制御の反転Ioc、Aop対面
  • トランザクションのサポートとフレームワークのサポート

要するに:

スプリングは、制御の反転(Ioc)およびアスペクト指向(AOP)の非侵入型フレームワークです。

学習Webサイト:Spring-core学習Webサイト

組成

画像

  • Springフレームワークを構成する各モジュールは、単独で存在することも、1つ以上の他のモジュールと組み合わせて実装することもできます。

    • コアコンテナ:コアコンテナは、Springフレームワークの基本機能を提供します。主要コンポーネントは、ファクトリパターンを実装するBeanFactoryです。そのBeanFactoryは、制御の反転(IOC)モデルを使用して、アプリケーションレベルの構成と依存関係の仕様を実際のアプリケーションコードから分離します。
    • Springコンテキスト:Springフレームワークにコンテキスト情報を提供する構成ファイルです。これには主に、JNDI、EJB、電子メール、国際化、検証、スケジューリング機能などのエンタープライズサービスが含まれます。
    • Spring AOP:構成管理機能を通じて、アスペクト指向プログラミング機能がSpringフレームワークに統合されているため、SpringフレームワークはAOPをサポートする任意のオブジェクトを簡単に管理できます。また、Springベースのアプリケーションのオブジェクトのトランザクション管理サービスも提供します。Spring AOPを使用すると、コンポーネントに依存することなく、宣言型トランザクション管理をアプリケーションに統合できます。
    • Spring DAO:Spring DAO抽象化レイヤーは、意味のある例外階層を提供します。これを使用して、さまざまなデータベースベンダーによってスローされた例外処理とエラーメッセージを管理できます。例外階層は、エラー処理を簡素化し、記述する必要のある例外コードの量を減らします。
    • Spring ORM:Springフレームワークは、JDO、Hibernate、iBatis SQLMapなどのORMオブジェクトリレーショナルツールを提供するためにいくつかのORMフレームワークを挿入します。これらはすべて、Springの一般的なトランザクションとDAO例外階層に従います。
    • Spring Webモジュール:Webコンテキストモジュールは、アプリケーションコンテキストモジュールの上に構築され、Webベースのアプリケーションにコンテキストを提供します。したがって、SpringフレームワークはJakartaStrutsとの統合をサポートします。Webモジュールは、マルチパートリクエストの処理とドメインオブジェクトへのリクエストパラメータのバインドの作業も簡素化します。
    • Spring MVCフレームワーク:MVCフレームワークは、Webアプリケーションを構築するためのフル機能のMVC実装です。ストラテジーインターフェイスを通じて、MVCフレームワークは高度に構成可能になり、MVCは、JSP、Velocity、Tiles、iText、POIなどの多数のビューテクノロジーに対応します。

最新のJava開発

  • Spring Boot:すべてを構築する

    • 迅速な開発のための足場は、単一のマイクロサービスを迅速に開発できます。
    • 規則は構成よりも大きい
  • Spring Cloud:すべてを調整する

    • SpringCloudはSpringBootに基づいて実装されています
  • Spring Cloudデータフロー:すべてを接続する

こんにちは世界

上記の紹介を通じて、Springの利点とSpringの構成を理解しました。以下では、公式Webサイトのガイドラインに従ってSpringBootプロジェクトの構築をすぐに開始します。

SpringBootプロジェクトを開始します

使用クイックスタート次の図に示すように、Webプロジェクトを作成するには:

image.png

特別な注意が必要な点がいくつかあります。

  • 依存関係にWeb依存関係を手動で追加する必要があります
  • 次に、独自のパーソナライズされた構成を完了し、[生成]をクリックします。

[生成]をクリックすると、圧縮されたパッケージが取得されます。解凍するだけで、SpringBootの作成を完了するためのアイデアが表示されます。

image.png

pomファイルを手動でインポートする必要があります

独自のコードを書く

Application.javaファイルは、スタートアップファイルであり、プログラムのメインメソッドであり、以下に示すように、独自のコードを記述できます。

package com.zhonghu.springhelloworlddemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
//使用此注解将类被标记为Controller,并且Controller类中的方法返回值不会解析为路径跳转,只会返回一个字符串在response中。
@RestController
public class SpringHelloworldDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringHelloworldDemoApplication.class, args);
    }

    //告诉Spring我们用hellodemo方法来响应/hello
    @GetMapping("/hello")
    //@Requestparam告诉Spring在请求中期望的一个值,如果不存在,则使用后面的默认值
    public String hellodemo(@RequestParam(value = "name",defaultValue="World")String name){
        return String.format("Hello %s!",name);
    }
}

開始プログラム

今書いたプログラムを開始します

image.png

次のような予期しない状況が発生する可能性があります。ポート8080が占有されている

画像

  • ポート8080がそのプロセスによって占有されていることを確認します

    • netstat -ano | findstr "8080"
  • プロセス番号に対応するプロセスを表示する

    • タスクリスト| findstr "5768"
  • プロセスを強制終了します

    • taskkill -pid process pid -f

起動が成功したら、次のリンクにアクセスします。http:// localhost:8080 / helloアクセスページは次のとおりです。

画像

名前をスプライスしなかったため、デフォルト名のWorldが表示されます。次に示すように、ブラウザの背後で一時的に名前をスプライスすることもできます。

画像

このようにして、コードの最初の行の記述が完了し、正常に実行されました。ここで使用するコードは、今後の研究で学習します。Spring関連の知識を引き続き学習したい場合は、引き続き私に注意を払ってください。

総括する

  • スプリングは、制御の反転(Ioc)およびアスペクト指向(AOP)の非侵入型フレームワークです。

  • 春の構成

    • Spring Core:コアコンテナ
    • Spring AOP:構成管理機能、Springアスペクトのプログラミング機能
    • Spring ORM:オブジェクトリレーショナルマッピング
    • Spring DAO:DAO抽象化レイヤー
    • Spring Web:Webアプリケーションの作成をサポートします
    • Springコンテキスト:Springフレームワークにコンテキスト情報を提供する構成ファイルです
    • Spring Web MVC

やっと

  • 読んでやりがいを感じたら、いいねをあげたいと思います。これが更新の最大のモチベーションになります。ご支援ありがとうございます。
  • Javaとコンピュータの基本的な知識に焦点を当てた私の公開アカウント[JavaFox]に注目してください。私を信じていない場合は、私を叩いてください。
  • 読んだ後に異なる意見や提案がある場合は、コメントして私たちと共有してください。皆様のご支援、ご愛顧を賜りますようお願い申し上げます。

画像

最新ニュースについては、パブリックアカウント「JavaFox」をフォローすることを歓迎します

おすすめ

転載: blog.csdn.net/issunmingzhi/article/details/112094341