#以前に Bean オブジェクトを保存したときは、構成ファイルに Bean の行を追加してそれらを注入する必要がありました
この注入方法は適切ではありません。設定ファイルにエラーがある場合、プログラムはエラー メッセージを表示しません。これは初心者にとって非常に不親切です。
1. プロジェクトの作成
スタートアップ クラスとメイン メソッドの作成<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.3.RELEASE</version> </dependency> </dependencies>

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.3.RELEASE</version> </dependency> </dependencies>

Spring の使用の核心は、アノテーションを使用することです。学習したアノテーションは 5 つです
@Controller [コントローラー] @Service [サービス] @Repository [ウェアハウス] @Configuration [構成/レイアウト] @Component [コンポーネント] 2.1コントローラー
#以前は id パラメーターを渡すことでオブジェクトを取得できましたが、手動で ID を追加するために Bean の行を追加していましたが、今ではアノテーションを使用する場合、クラス型のみを使用できますか?
アノテーションを使用して Bean オブジェクトを挿入する場合、ID は実際にはデフォルトでクラス名のキャメルケース形式になります:
理由については最初は説明しません。 については後述します。
簡単な間違い
:以前に設定ファイルに Bean オブジェクト検索用のルート ディレクトリを追加しました。つまり、検索はこのディレクトリから下方向に開始されますが、上方向には開始されません :
下位ディレクトリ
##上位ディレクトリ
#2.2 サービス
#2.3 リポジトリ
##2.5 コンポーネント
2.6 社内の注釈には 5 つの主要なカテゴリがある理由
社内には全員が責任を負っています領域が異なるため、使用されるクラス アノテーションも異なりますが、アノテーションの 5 つの主要カテゴリの本質は同じです。
2 つのクラス アノテーションを通して、他の 4 つのアノテーションが Component アノテーションを導入するメソッドであることが明確にわかります。コンポーネントは、他の 4 つのクラス アノテーションの親です。では、コンポーネントは何をするのでしょうか?ただ、アノテーションを付けるときに他の 4 つのクラスに投げ込むのは簡単ではありません~
2.7 ID がデフォルトで小さなラクダ番号になるのはなぜですか
#AnnotationBeanNameGenerator を検索:
##テスト:
##2.8.2 複数の名前変更
: name 属性を使用して名前を変更すると、元のメソッド名はその効果を失います。つまり、変更されたメソッドのみが使用できることになります。名前は次のとおりです。 IDとして使用されます。 Bean オブジェクトの取得
- Propertyインジェクション
- #コンストラクター インジェクション
#セッター インジェクション
- #1. プロパティ インジェクション1.1 Autowired
今は問題ないようですが、オブジェクトを作成すると、同じタイプのオブジェクトが複数回挿入されている場合:
現時点では、選択したオブジェクトを正確に見つける必要があります。 タイプ名
##1.2リソース
1.3 2つの違い
Resource には、注入された Bean の名前を指定できる name 属性があります。
#しかし、Autowired には、一致するアノテーション @Qualifier もあり、これを使用して、選択された Bean オブジェクトなので、2 つです。まあ、これは同点だと思います。
: Autowired アノテーションは、最初に、すべてのタイプのオブジェクトのタイプをクエリします。ただし、Autowired は一度に 1 つのオブジェクトしか挿入できないため、同じタイプのオブジェクトが複数回挿入されるとエラーが報告されます。 Qualifier アノテーションは基本的に、クエリの結果をフィルタリングします。
2. コンストラクター インジェクション
または Autowired アノテーションを使用します:
##ps
: コンストラクターが 1 つだけの場合、Autowired は省略できます。
# リソース は Setter インジェクションもサポートしています。
プロパティ インジェクション、コンストラクター インジェクション、セッター インジェクションの違いは何ですか?
以上がJava Spring での読み取りおよび書き込み操作の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JVMは、バイトコード解釈、プラットフォームに依存しないAPI、動的クラスの負荷を介してJavaのWORA機能を実装します。 2。標準API抽象オペレーティングシステムの違い。 3.クラスは、実行時に動的にロードされ、一貫性を確保します。

Javaの最新バージョンは、JVMの最適化、標準的なライブラリの改善、サードパーティライブラリサポートを通じて、プラットフォーム固有の問題を効果的に解決します。 1)Java11のZGCなどのJVM最適化により、ガベージコレクションのパフォーマンスが向上します。 2)Java9のモジュールシステムなどの標準的なライブラリの改善は、プラットフォーム関連の問題を削減します。 3)サードパーティライブラリは、OpenCVなどのプラットフォーム最適化バージョンを提供します。

JVMのバイトコード検証プロセスには、4つの重要な手順が含まれます。1)クラスファイル形式が仕様に準拠しているかどうかを確認し、2)バイトコード命令の有効性と正確性を確認し、3)データフロー分析を実行してタイプの安全性を確保し、検証の完全性とパフォーマンスのバランスをとる。これらの手順を通じて、JVMは、安全で正しいバイトコードのみが実行されることを保証し、それによりプログラムの完全性とセキュリティを保護します。

java'splatformendencealLowsApplicationStorunOperatingSystemwithajvm.1)singlecodebase:writeandcompileonceforallplatforms.2)easyUpdates:updatebytecodeforsimultaneousdeployment.3)テストの実験効果:scalbortffortfforduniverbehaviol.4)

Javaのプラットフォームの独立性は、JVM、JITコンピレーション、標準化、ジェネリック、ラムダ式、Projectpanamaなどのテクノロジーを通じて継続的に強化されています。 1990年代以来、Javaは基本的なJVMから高性能モダンJVMに進化し、さまざまなプラットフォームでのコードの一貫性と効率を確保しています。

Javaはプラットフォーム固有の問題をどのように軽減しますか? Javaは、JVMおよび標準ライブラリを通じてプラットフォームに依存します。 1)bytecodeとjvmを使用して、オペレーティングシステムの違いを抽象化します。 2)標準のライブラリは、パスクラス処理ファイルパス、CHARSETクラス処理文字エンコードなど、クロスプラットフォームAPIを提供します。 3)最適化とデバッグのために、実際のプロジェクトで構成ファイルとマルチプラットフォームテストを使用します。

java'splatformentencentenhancesmicroservicesecturectureby byofferingdeploymentflexability、一貫性、スケーラビリティ、およびポート可能性。1)展開の展開の展開は、AllosmicRoserviThajvm.2)deploymentflexibility lowsmicroserviceSjvm.2)一貫性のあるAcrossServicessimplisimpligiessdevelisementand

Graalvmは、Javaのプラットフォームの独立性を3つの方法で強化します。1。言語間の相互運用性、Javaが他の言語とシームレスに相互運用できるようにします。 2。独立したランタイム環境、graalvmnativeimageを介してJavaプログラムをローカル実行可能ファイルにコンパイルします。 3.パフォーマンスの最適化、Graalコンパイラは、Javaプログラムのパフォーマンスと一貫性を改善するための効率的なマシンコードを生成します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









