..


スポンサーリンク

コアのコンテナ - @自動接続とリソース

前のセクションでは、XML形式のメタデータを使用して、IoCコンテナを設定する方法を説明しました。
Javaアノテーションを使用して、デフォルトの設定は、nell'applicationContextを入力できるように、有効になっていません。<context:annotation-config/> XMLタグが。
依存関係を設定するには、自動接続@を使用する方法を見てみましょう。

の@自動接続するメーカー






 {publicクラスAutowiredBean1





  



プライベートServiceAW1サービス1。





  



プライベートServiceAW2 Service2。





  



 @自動接続する



  



公共AutowiredBean1(ServiceAW1てService1、ServiceAW2 Service2){



    



スーパー();



    



 this.service1 =サービス1。



    



 this.service2 = Service2;



  



 }





  



 / **



   



 *ビジネスロジック..........



   



 * /







 }



とnell'applicationContext。xmlの





 <context:annotation-config/>









 <bean id="serviceAW1" class="it.mrwebmaster.di.autowired.ServiceAW1Impl"/>







 <bean id="serviceAW2" class="it.mrwebmaster.di.autowired.ServiceAW2Impl"/>









 <bean id="autowiredBean1" class="it.mrwebmaster.di.autowired.AutowiredBean1"/>



の@自動接続セッターまたはフィールド






 {publicクラスAutowiredBean2





  



 @自動接続する



  



プライベートServiceAW1サービス1。





  



プライベートServiceAW2 Service2。





  



公共ServiceAW1 getService1(){



    



サービス1のリターン;



  



 }





  



公共ServiceAW2 getService2(){



    



 Service2リターン;



  



 }





  



公共ボイドsetService1(ServiceAW1サービス1){



    



 this.service1 =サービス1。



  



 }





  



 @自動接続する



  



公共ボイドsetService2(ServiceAW2 Service2){



    



 this.service2 = Service2;



  



 }





  



 / **



   



 *ビジネスロジック..........



   



 * /







 }



とnell'applicationContext。xmlの
 



 <bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>

 
と一緒に、曖昧さがあるその場合、あなたが同じクラスである2つの豆がある場合は、例えば、注入するBeanのidに@ @自動接続修飾子specficを使用することができます。





 @自動接続する







 @修飾子("serviceAW1")







プライベートServiceAW1サービス1。








 @自動接続する







公共AutowiredBean4(@修飾子("serviceAW1")ServiceAW1てService1、ServiceAW2 Service2){







 .....



リソース

春は、リソースへの容易なアクセスを提供してくれるという別の非常に便利な機能は、(ファイルやURLのように変えることができる)である。 この機能は、インタフェースとその実装の​​リソースを使用して実装されています

インタフェースのリソースはInputStreamSource追加その他の機能を拡張します。 このインタフェースの主な実装は以下のとおりです。

  • UrlResourceは、URLを介してアクセスされるすべてのリソースにアクセスすることができます。
  • ClassPathResourceは、クラスパス上のすべてのリソースへのアクセスを許可します。
  • FileSystemResourceは、ファイルへのアクセスが可能になります。
  • ServletContextResourceは、通常のServletContextを介してアクセスされるすべてのリソースにアクセスすることができます。
  • InputStreamResourceは、指定されたInputStreamのリソースにアクセスすることができます。
  • ByteArrayResourceは、所定のByteArrayのリソースにアクセスすることができます。

次の例を通して、私たちはどのようにinstaziareリソースが表示され、私たちのbeanにインジェクト:






 {publicクラスResourceBean





  



プライベートリソースリソース。





  



公共ボイドsetResource(リソースのリソース){



    



 this.resource =リソース。



  



 }





  



公開リソースのgetResource()の{



    



リソースを返します。



  



 }







 }



nell'applicationContext。xmlの





 <bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean">



  



 <property name="resource" value="classpath:resource"> </プロパティ>







 </ビーン>



例ではインスタンス化されるリソースのタイプを定義しない、それは春をインスタンス化しますが、それは適切である。 文字列リソースの3つのタイプが、あるがQueli instaziataリソースに基づいています。

  • クラスパスは:ClassPathResourceをインスタンス化
  • ファイルは:FileSystemResourceをインスタンス化
  • http:instanzia UrlResource

スプリングJavaのガイド
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
RubyとRuby on Rails(コース) RubyとRuby on Rails(コース)
RubyとRoRのと、ソフトウェアやWebアプリケーションを作成します。 39€から。
スポンサーリンク