在Spring的应用中,用ref的属性指定依赖的3种模式比较

来源:互联网 发布:qq for mac 10.8 编辑:程序博客网 时间:2024/04/29 18:21

        在Spring中,用ref的属性指定的依赖。有3种模式:local,Bean,parent.下面分别对这3种模式进行比较:

   1.用local属性指定

  如果一个Bean与被参考引用的Bean在同一个xml文件中而且被参考引用的Bean用id来命名 .那么就可以使用ref的local属性.这样会让xml解析器更早地在XML文档解析时,验证Bean的Id。local属性的值必须与被参考引用的Bean的id属性一致。如果在同一个文件中没有匹配的元素,XML解析器将会产生一个错误。

  用XML来配置文档的一个明显缺点是,开发人员不能及时地发现XML中的错误.为了能够尽可能地发现XMl的错误配置信息,如果一个Bean与被参考引用的Bean在同一个XML文件中,那么使用local形式是最好的选择.

用ref的local属性来指定的依赖的示例代码如下:

 

  2.用Bean属性指定

        用ref元素的Bean属性指定被参考引用的Bean是Spring中最常见的形式,它允许指向的Bean可以在同一个XML中,也可以不在同一个文件中.Bean属性的值可以与被参考引用的Bean的id属性相同,也可以与被参考引用的 Bean的name属性相同.用ref的Bean属性来指定依赖的示例代码如下:

 3.用parent属性指定

      用parent属性指定被参考引用的Bean时,允许引用当前BeanFactory或ApplicationContext的父BeanFactory或ApplicationContext中的Bean.parent属性的值可以与被参考引用的id属性相同,也可以与被参考引用Bean的name相同.用ref的parent属性来指定依赖的示例代码如下:

 

 4.用local属性与Bean属性指定依赖的比较:

   在这3种模式中,用local属性指定依赖和用Bean属性指定依赖最为常用.下面对这两种模式进行比较:

   相同之处:两种模式都可以用Bean的id来进行参考引用.都可以对同一XML中的Bean进行参考引用.

  不同之处:用Bean属性指定依赖可以用Bean的name来进行参考引用,还可以对不同XML中的Bean进行参考引用.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击