Spring Frameworkの学習(2) 依存関係の注入
Spring フレームワークは、セット注入、コンストラクター注入、インターフェイス注入という 3 つの注入方法を提供します。インターフェイスの注入は必要ありません。最初の 2 つの方法を以下に紹介します。
1.セットインジェクション
属性のsetメソッドを使って初期化することをセットインジェクションと呼びます。
1) 通常の文字型に値を割り当てます。
public class User{ privateString username; publicString getUsername() { returnusername; } publicvoid setUsername(String username) { this.username= username; } }
属性の set メソッドを指定するだけで済みます。その後、プロパティ ファイルに移動して、フレームワークが applicationContext.xml ファイルの Bean タグを見つけられるように設定します。 Bean ラベルを追加して Bean にラベルを付けます。ID とクラス値を指定します。ID 値は必須ではありません。クラス値はオブジェクトが配置されている完全なパスです。 property
タグを Bean タグに追加します。名前の値は、User クラスの対応するプロパティ名と一致する必要があります。 value value は、User クラスの username 属性に割り当てる値です。
<bean id="userAction"class="com.lsz.spring.action.User" > <property name="username" value="admin"></property> </bean>
オブジェクトのsetメソッドも提供します
public class User{ private UserService userservice; public UserServicegetUserservice() { returnuser; } public void setUserservice(UserService userservice){ this.userservice= userservice; } }
<!--对象的声明--> <bean id="userService" class="com.lsz.spring.service.UserService"></bean> <bean id="userAction"class="com.lsz.spring.action.User" > <property name="userservice" ref="userService"></property> </bean>
3) リストコレクションに値を割り当てます
set メソッドも提供します
public class User{ privateList<String> username; publicList<String> getUsername() { returnusername; } publicvoid setUsername(List<String> username) { this.username= username; } }
<bean id="userAction"class="com.lsz.spring.action.User" > <propertyname="username"> <list> <value>zhang,san</value> <value>lisi</value> <value>wangwu</value> </list> </property> </bean>
public class User{ privateProperties props ; publicProperties getProps() { returnprops; } publicvoid setProps(Properties props) { this.props= props; } }
<bean> <propertyname="props"> <props> <propkey="url">jdbc:oracle:thin:@localhost:orl</prop> <propkey="driverName">oracle.jdbc.driver.OracleDriver</prop> <propkey="username">scott</prop> <propkey="password">tiger</prop> </props> </property> </bean>
注:
どのような値が割り当てられているかに関係なく、構成ファイル内の
2 コンストラクターインジェクション
1) コンストラクターのパラメーターは 1 つですpublic class User{
privateString usercode;
publicUser(String usercode) {
this.usercode=usercode;
}
}
<bean id="userAction"class="com.lsz.spring.action.User">
<constructor-argvalue="admin"></constructor-arg>
</bean>
パラメーターが非文字列型の場合、型が設定ファイルで指定される必要があります。指定されていない場合は、String 型の割り当てに従います。
パラメータの型が一致しない場合、フレームワークは文字列の型に従って検索するため、設定ファイルでパラメータの場所を指定する必要があります
<constructor-argvalue="admin"index="0"></constructor-arg> <constructor-argvalue="23" type="int"index="1"></constructor-arg>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

指定された URI にルーティングする前にリクエストボディを変更したいと考えています。 org.springframework.cloud.gateway.filter.factory.rewrite.modifyrequestbodygatewayfilterfactory を使用しているドキュメントに基づいて本文を変更します。サーバーを起動すると、次のエラー理由でサーバーの起動に失敗します: 要素 [spring.cloud.gateway.routes[0].filters[0].modifyrequestbody.class] がバインドされていません。 \n\n操作:\

この記事では、依存性注入について説明し、依存性注入によって解決される問題とそのネイティブの記述方法を紹介し、Angular の依存性注入フレームワークについて説明します。

Phalcon フレームワークで依存関係注入 (DependencyInjection) を使用する方法の紹介: 現代のソフトウェア開発では、依存関係注入 (DependencyInjection) は、コードの保守性とテスト容易性を向上させることを目的とした一般的な設計パターンです。高速かつ低コストの PHP フレームワークである Phalcon フレームワークは、アプリケーションの依存関係を管理および整理するための依存関係注入の使用もサポートしています。この記事では、Phalcon フレームワークの使用方法を紹介します。

はじめに RESTful API は、最新の WEB アプリケーションに不可欠な部分になっています。これらは、Web サービスを作成および使用するための標準化されたアプローチを提供するため、移植性、拡張性、および使いやすさが向上します。 Java エコシステムでは、JAX-RS と springmvc が、RESTful API を構築するための 2 つの最も人気のあるフレームワークです。この記事では、両方のフレームワークについて詳しく説明し、その機能、利点、欠点を比較して、情報に基づいた決定を下せるようにします。 JAX-RS: JAX-RSAPI JAX-RS (JavaAPI for RESTful Web Services) は、REST 開発のために JavaEE によって開発された標準 JAX-RSAPI です。

Spring フレームワークのアーキテクチャと動作原理の詳細な分析 はじめに: Spring は、Java エコシステムで最も人気のあるオープン ソース フレームワークの 1 つであり、強力なコンテナ管理および依存関係注入機能のセットを提供するだけでなく、トランザクション、管理、AOP、データ アクセスなど、他の多くの機能。この記事では、Spring フレームワークのアーキテクチャと動作原理を詳細に分析し、具体的なコード例を通じて関連する概念を説明します。 1. Spring フレームワークの中心概念 1.1IoC (Inversion of Control) Spring の核

プログラム ログの最適化: log4j ログ レベルを設定するためのヒント 概要: プログラム ログは、トラブルシューティング、パフォーマンス チューニング、およびシステム監視において重要な役割を果たします。この記事では、さまざまなレベルのログを設定する方法や、コード例を通じて設定プロセスを説明する方法など、log4j ログ レベルの設定に関するヒントを紹介します。はじめに: ソフトウェア開発において、ログ記録は非常に重要なタスクです。プログラムの実行プロセス中に重要な情報を記録することで、開発者が問題の原因を特定し、パフォーマンスの最適化やシステム監視を実行するのに役立ちます。

Go では、依存関係注入 (DI) モードは、値の受け渡しやポインターの受け渡しなど、関数パラメーターの受け渡しを通じて実装されます。 DI パターンでは、依存関係は通常、分離を改善し、ロック競合を軽減し、テスト容易性をサポートするためにポインターとして渡されます。ポインターを使用すると、関数はインターフェイスの種類にのみ依存するため、具体的な実装から切り離されます。また、ポインターの受け渡しにより、大きなオブジェクトを渡す際のオーバーヘッドが削減されるため、ロックの競合が軽減されます。さらに、DI パターンでは依存関係を簡単にモックできるため、DI パターンを使用した関数の単体テストを簡単に作成できます。
