..


ลิงก์ผู้สนับสนุน

คอนเทนเนอร์หลัก -- @ Autowired และทรัพยากร

ในส่วนก่อนหน้าเราเห็นวิธีการกำหนดค่าภาชนะ IoC ใช้ metadata ในรูปแบบ XML
กำหนดค่าเริ่มต้นผ่านบันทึกย่อ Java ไม่ได้ใช้งานเพื่อให้คุณสามารถป้อน nell'applicationContext. <context:annotation-config/> Xml แท็ก
ลองมาดูวิธีการใช้ @ Autowired เพื่อกำหนดค่าอ้างอิง

@ Autowired ของผู้ผลิต






 {สาธารณะ AutowiredBean1 ชั้น





  



 ภาคเอกชน Service1 ServiceAW1;





  



 ภาคเอกชน Service2 ServiceAW2;





  



 @ Autowired



  



 สาธารณะ AutowiredBean1 (ServiceAW1 Service1, Service2 ServiceAW2) {



    



 super ();



    



 this.service1 = Service1;



    



 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"/>



@ setters Autowired หรือเขตข้อมูลของ






 {สาธารณะ AutowiredBean2 ชั้น





  



 @ Autowired



  



 ภาคเอกชน Service1 ServiceAW1;





  



 ภาคเอกชน Service2 ServiceAW2;





  



 สาธารณะ ServiceAW1 getService1 () {



    



 Service1 กลับ;



  



 }





  



 สาธารณะ ServiceAW2 getService2 () {



    



 Service2 กลับ;



  



 }





  



 เป็นโมฆะ setService1 สาธารณะ (ServiceAW1 Service1) {



    



 this.service1 = Service1;



  



 }





  



 @ Autowired



  



 เป็นโมฆะ setService2 สาธารณะ (ServiceAW2 Service2) {



    



 this.service2 = Service2;



  



 }





  



 / **



   



 ตรรกะทางธุรกิจ * * * * ..........



   



 * /







 }



และ nell'applicationContext. XML
 



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

 
พร้อมด้วยคุณสามารถใช้ @ @ @ Autowired specfic คัดเลือกเป็น ID ของถั่วที่คุณต้องการจะฉีด, ยกตัวอย่างเช่นถ้ามีสองถั่วที่มีของชั้นเรียนเดียวกันดังนั้นหากมีความคลุมเครือ





 @ Autowired







 @ Qualifier ("serviceAW1")







 ภาคเอกชน Service1 ServiceAW1;



หรือ





 @ Autowired







 สาธารณะ AutowiredBean4 (คัดเลือก @ ("serviceAW1") ServiceAW1 Service1, Service2 ServiceAW2) {







 .....



แหล่งข้อมูล

อีกคุณสมบัติที่มีประโยชน์มากที่ฤดูใบไม้ผลิให้กับเราง่ายต่อการเข้าถึงทรัพยากร (ซึ่งสามารถที่แตกต่างกันเป็นไฟล์หรือ URL) คุณลักษณะนี้จะดำเนินการผ่านการใช้งานของอินเตอร์เฟซการใช้งานและทรัพยากรของ

ทรัพยากรอินเตอร์เฟซที่จะขยาย InputStreamSource การเพิ่มคุณสมบัติอื่น ๆ การใช้งานหลักของอินเตอร์เฟซนี้ :

  • UrlResource ช่วยให้การเข้าถึงแหล่งข้อมูลทั้งหมดที่มีการเข้าถึงได้ผ่านทาง URL ที่
  • ClassPathResource, ช่วยให้การเข้าถึงทรัพยากรทั้งหมดใน classpath
  • FileSystemResource ช่วยให้การเข้าถึงไฟล์
  • ServletContextResource ช่วยให้การเข้าถึงแหล่งข้อมูลทั้งหมดที่มีการเข้าถึงได้ตามปกติผ่าน ServletContext
  • InputStreamResource, ช่วยให้สามารถเข้าถึงทรัพยากรของ InputStream ที่กำหนด
  • ByteArrayResource, ช่วยให้สามารถเข้าถึงทรัพยากรของ ByteArray ที่กำหนด

ผ่านทางตัวอย่างต่อไปนี้เราจะดูข้อมูล instaziare วิธีการและฉีดเข้าไปในถั่วของเรา :






 {สาธารณะ ResourceBean ชั้น





  



 ทรัพยากรทรัพยากรเอกชน





  



 setResource โมฆะสาธารณะ (ทรัพยากรทรัพยากร) {



    



 ทรัพยากร this.resource =;



  



 }





  



 getResource ทรัพยากรสาธารณะ () {



    



 กลับทรัพยากร



  



 }







 }



nell'applicationContext. XML





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



  



 <property name="resource" value="classpath:resource"> </ Property>







 <Bean />



ในตัวอย่างที่คุณไม่ได้กำหนดประเภทของทรัพยากรที่จะถูก instantiated ก็ instantiates ฤดูใบไม้ผลิ แต่ก็เป็นที่เหมาะสม มีสามประเภทของทรัพยากรสตริงขึ้นอยู่กับ Queli instaziata ทรัพยากร :

  • classpath : instantiates ClassPathResource
  • ไฟล์ : instantiates FileSystemResource
  • http:instanzia UrlResource

แผนที่สปริง Java
E - Learning
ลินุกซ์ (หลักสูตร) ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 €
PHP (หลักสูตร) PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 €
Ruby และ Ruby on Rails (หลักสูตร) Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 €
ลิงก์ผู้สนับสนุน