..


赞助商链接

核心容器 - @ Autowired和资源

在以前的章节中,我们看到了如何配置IoC容器中使用XML格式的元数据。
通过Java注释的默认配置是没有启用,使你进入nell'applicationContext。<context:annotation-config/> XML标记。
让我们来看看如何使用Autowired进行配置的依赖关系@。

@ Autowired进行制造商






 {公共类AutowiredBean1





  



私人ServiceAW1服务1;





  



私人ServiceAW2服务2;





  



 @ Autowired进行



  



公共AutowiredBean1(ServiceAW1服务1,ServiceAW2服务2){



    



超级();



    



 this.service1 = Service1的;



    



 this.service2 =服务2;



  



 }





  



 / **



   



 *业务逻辑..........



   



 * /







 }



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



@ Autowired进行set​​ter方法​​或领域






 {公共类AutowiredBean2





  



 @ Autowired进行



  



私人ServiceAW1服务1;





  



私人ServiceAW2服务2;





  



公共ServiceAW1 getService1(){



    



 Service1的回报;



  



 }





  



公共ServiceAW2 getService2(){



    



服务2的回报;



  



 }





  



公共无效setService1(ServiceAW1服务1){



    



 this.service1 = Service1的;



  



 }





  



 @ Autowired进行



  



公共无效setService2(ServiceAW2服务2){



    



 this.service2 =服务2;



  



 }





  



 / **



   



 *业务逻辑..........



   



 * /







 }



和nell'applicationContext。XML
 



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

 
随着你可以使用@ @ Autowired进行资格赛specfic到豆要注入,例如,如果有两个bean,同一类的,所以如果有歧义的ID。





 @ Autowired进行







 @限定符(“serviceAW1”)







私人ServiceAW1服务1;



或是





 @ Autowired进行







公共AutowiredBean4(@限定符(“serviceAW1”)ServiceAW1服务1,ServiceAW2服务2){







 .....



资源

另一个非常有用的功能,Spring提供方便获取资源我们的是(可高达文件或URL不同)。 此功能是通过实现该接口及其实现资源的使用

接口资源扩展InputStreamSource加入其他功能。 此接口主要实现是:

  • UrlResource,允许访问所有通过一个URL访问的资源。
  • ClassPathResource,允许访问类路径上的所有资源。
  • FileSystemResource,允许访问的文件。
  • ServletContextResource,允许访问所有通常通过ServletContext的访问的资源。
  • 的InputStreamResource,允许访问给定资源的InputStream。
  • 使用ByteArrayResource,允许访问给定的ByteArray资源。

通过下面的例子中,我们将看到如何instaziare资源,并注入到我们的豆:






 {公共类ResourceBean





  



私人资源的资源;





  



公共无效setResource(资源资源){



    



 this.resource =资源;



  



 }





  



公共资源的getResource(){



    



返回资源;



  



 }







 }



nell'applicationContext。XML





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



  



物权name="resource" value="classpath:resource"> </财产>







 </豆>



在这个例子中没有定义的资源将被实例化的类型,它实例化的春天,但它是合适的。 有三种类型的字符串资源,是基于Queli instaziata资源:

  • 类路径:实例使用ClassPathResource
  • 文件:实例化一个FileSystemResource
  • http:instanzia a UrlResource

春天的Java指南
电子学习
Linux操作系统(课程) Linux操作系统(课程)
完整指南开源系统。 从49€。
PHP(课程) PHP(课程)
全部课程用于创建动态Web站点。 从49€。
Ruby和Ruby on Rails的(课程) Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。
赞助商链接