#この記事では、参考のために、基本的なバックエンドから独立したバックエンドまでのバックエンド学習ルートを簡単に紹介します。Java バックエンド開発のために学ぶ必要がある知識には次のものが含まれます: 1. Java の基本構文と oop 機能; 2. SQL 言語、MySQL、非リレーショナル データベースなどのデータベース関連の知識; 3. . Webの基礎知識、4. Spring、SpringMVC、MybatisなどのWeb主流フレームワーク、5. フロントエンドの知識など。
Java チュートリアル 。
Java の基本
Java は純粋なオブジェクト指向プログラミング言語であるため、基本的な構文に加えて、その oop 機能 (カプセル化、継承、ポリモーフィズム) を理解する必要があります。さらに、ジェネリックとリフレクションもあります Spring のコア Ioc や AOP など、これに依存する多くのフレームワーク テクノロジは両方ともリフレクションを使用しており、Java 独自の動的プロキシもリフレクションを使用して実装されています。 さらに、コレクション、I/O、同時実行性など、いくつかの Java 標準ライブラリも非常に一般的です。これらは Web 開発のほぼどこにでもあり、面接でもよく質問されるため、学習する際には Java バックエンドを開始する前に、これらの基礎を最初に構築することをお勧めします。さらに、ラムダ式、コレクション ストリーム操作、新しい Date API など、注目すべき Java8 の新機能もいくつかあります。新しい機能。 おすすめの本についてですが、初心者が「Java プログラミング思考」を読み始めることはお勧めしません。なぜなら、その日の午後に Java を独学で学ぼうと決めたのが私で、夕方にこの本を手にしたからです。 本を読んでいる人は、正直に言うと、当時の私にはオブジェクト指向言語プログラミングの基礎がまったくなかったので、何のことを言っているのかよくわかりませんでしたが、この本は私にとって非常に包括的で奥深いものでした。当時は完全にバイブルでしたが、今でもJava界のバイブルであり、読むたびに得るものがあると思います。この本は比較的理解しやすく、初心者にも受け入れやすいので、最初に「Java Core Technology」を読むことをお勧めします。データベース
SQL について: SQL チュートリアル、MySQL チュートリアル基本的な文法を理解した後は、ビデオ「いくつかのテーブル」で教師に従ってください。単一テーブルクエリ、複数テーブルクエリなどの操作を実際に練習しました。専門家に頼らずに SQL を学ぶことをお勧めします。 仕事では簡潔な SQL を書くことが非常に重要なので、理解するだけでなく、もっと練習する必要があります。ここで、私はプロジェクト内で SQL ステートメントを常に守ってきたと言います。複数テーブルのクエリを回避できる場合は、複数テーブルのクエリも避けてください。複数のステートメントを分離できる場合は、複数のステートメントを分離してください。これには、複数の問題が含まれるためです。テーブルクエリのパフォーマンスとデータベースの拡張。 JDBC について: JDBC チュートリアル、JDBC による接続オブジェクトのソース コードの取得分析JDBC API の使用法を理解する必要があります。実際には、JDBC API は標準化されたインターフェイスのセットにすぎません。すべてのデータベース ドライバーは JDBC を実装しているため、ドライバーがどのように実装されているかを知らなくても、標準 API を通じて対応するドライバーを呼び出すことができます。これはインターフェイス指向プログラミングの利点です。 JDBC については、それを理解するためにビデオを直接見ました。ビデオに従って、Apache Dbutils ツールに基づいた小さなトランザクション ツールを作成しました。特別にマインド マップでそれを要約しました:
Web の基礎
オープンソース中国の創始者、Hongshu はかつて「Java Web 開発の初心者は、さまざまなフレームワークから離れて、サーブレットから開発してください」という記事を書きました。彼の言うことはまさに正しいと思います。今日の Java 開発では、多くの開発者はフレームワークの使い方しか知りませんが、Web のいくつかの知識ポイントを理解していません。実際、フレームワークはたくさんありますが、それらは基本的にルーチンであるため、あらゆるフレームワークを学ぶ フレームワークをインストールする前に、Web の基礎をしっかりと整えてください。Web の基礎をしっかりと築くと、フレームワークがまさに水を得た魚のようなものであることがわかります。 Http プロトコルに関しては、この記事が非常に明確です: Http プロトコル Web の基本に関するデータの推奨事項については、「Tomcat と Java Web 開発技術の詳細な解説」を読んでいたのですが、説明しています。 Java Web 開発テクノロジ全体を詳細に説明します。 知識点としては、ここで言及されているテクノロジーのいくつかは確かに少し古いと思いますが、Java Web 開発の歴史を理解することも良いことです。それでウェブ上で 基礎的な部分では、とあるお客様から教えていただいた崔先生の「超総合Java Webビデオチュートリアル」をいつも拝見させていただいていますが、とても詳しくて鮮やかな講義で、実践的なプロジェクトもあります! JSP については、実際にはサーブレットであることを理解するだけで済みますが、一部のタグの使用については、現在インターネット上に存在する企業はほとんどないため、無視しても問題ないと思います 一部の古いプロジェクトを除いて、今でも JSP を使用しています。最近では、フロントエンドとバックエンドを分離するシングルページアプリケーションが一般的で、バックエンドは API インターフェイスのみを提供するため、時間は貴重なので、今回はサーブレットの仕様に焦点を当てます。 Tomcat については、Web コンテナです。作成したバックエンド プロジェクトを実行するには、Web コンテナにデプロイする必要があります。実際には、Http に従い、Socket を介してクライアントと通信します。 クライアント対話用のサーバー プログラム: Tomcat の構造とリクエスト処理プロセスWeb 主流フレームワーク
Java Web フレームワークは非常にたくさんあります。ある程度の経験を積めば、Web フレームワークを作成することもできます。インターネット上の多くの人は、Spring、Struts2、Hibernate が Java の 3 台車であると言っています。私が言いたいのは、Spring、Struts2、Hibernate が Java の 3 つです。それは遠い昔のことです。私は Struts2 と Hibernate を本気でお勧めしません。信じてください、最初に Spring、SpringMVC、Mybatis を使い始めるだけで十分です。特に Spring フレームワークはそうです。実際、Spring のフレームワークは、家族は皆とても仲が良いです。
しかし、さまざまなフレームワークに執着して、それらを複数の方法で使用する方法を知っていることに満足して、フレームワークを知っているものの、その理由がわからないままになってはいけないということを思い出してください。
Spring の核となるアイデアは IOC と AOP です:
Spring IOC の理解について話します
Spring アスペクト指向プログラミング
SpringMVC そのアイデアはすべてリクエストの転送と制御をサーブレットで統一する このサーブレットをDispatcherServletと呼ぶ:
SpringMVC初期化処理
SpringMVCリクエスト処理処理
Mybatis で実現できるSQL の動的なアセンブリ。ほとんどすべての JDBC コードとパラメータの手動設定を回避し、結果セットを取得します:
mybatis 入門チュートリアル
Mybatis 詳細シリーズ
Web Framework Advanced
SSM フレームワークを使用した後は、このフレームワークはこれ以上のものではないと感じるでしょう。Spring について一般的な理解がある場合は、次の「模倣バージョン」も書きたくなるでしょう。春。 さて、軽量 Web フレームワークは主に次の機能を備えています:
ユーザー定義の設定ファイルを読み込んでフレームワークの初期化に使用できます;
Bean コンテナを持ち、プロジェクトのクラスを管理します。ライフサイクル;
にはクラス間の結合を減らすための依存性注入があります;
には AOP 機能があるため、プロジェクトを水平方向にプログラミングでき、元のコードを変更せずにビジネス ロジックを追加できます;
MVC フレームワーク モードを備えています。
実際には、SSM に加えて、何百もの Web フレームワークがあり、その中で Spring ファミリー バケットが最も魅力的です。ここでは、2 つの Spring ファミリー フレームワークを強くお勧めします:
SpringBoot と SpringCloud 。
SpringBoot は Spring 構成の欠点を補ってくれます。複雑な XML を苦労する必要はもうありません。Java バックエンド開発の破壊者と言えます。お勧めの本「Java EE 開発の破壊者: SpringBoot の実践」
SpringBoot ビルド Web プロジェクト
SpringBoot 自動構成ソース コード分析
SpringBoot Starter のカスタマイズ
spring-boot-starter-tutorial
SpringCloud は、プロジェクトを業務に応じて複数のマイクロサービスに分割し、各マイクロサービスを独立してデプロイしたり、サービス同士を連携させることができるマイクロサービス アーキテクチャです。プロジェクトが大きくなるにつれて、保守はますます困難になります。このとき、プロジェクトを複数のマイクロサービスに分割し、個別に保守し、個別にデプロイすることで、プロジェクトの差異を減らすこともできます。ビジネス間の結合度。おすすめの本『Spring Cloud and Docker Microservice Architecture in Practice』、この本はDockerとマイクロサービスを完璧に組み合わせたもので、完璧です!
以上がJava バックエンド開発について何を学ぶ必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。