Spring(一)装配Bean

  在Spring中,对象无需自己查找或者创建与其所关联的其他对象。相反,容器负责把需要相互协作的对象引用赋予各个对象。

  创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质。

  一、Spring配置的可选方案。

  Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系,当描述bean如何进行装配时,Spring具有非常大的灵活性,它提供了三种主要的装配机制:

  •  在XML中进行显式配置
  •     在Java中进行显式配置
  •     隐式地bean发现机制和自动装配

  原则上,有三条准则:

  •     尽可能地使用自动装配的机制,显式配置越少越好。
  •     当你必须要显式配置bean的时候(有些源码不是由你来维护的,而当你需要为这些代码配置bean的时候),推荐使用类型安全并且比XML更加强大的JavaConfig。
  •     只有当你想要使用便利的XML命名空间,并且在JavaConfig中没有同样的实现时,才应该使用XML。

  二、自动化装配bean

  在便利性方面,最强大的还是Spring的自动化配置。

  Spring从两个角度来实现自动化装配:

  • 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。
  • 自动装配(autowiring):Spring自动满足bean之间的依赖。

  组件扫描和自动装配组合在一起就能发挥出强大的威力,它们能够将你的显示配置降低到最少。

  利用带有注释的代码来解释这种装配方式:

 1 package autoConfig1;
 2 /**
 3  * 如果你不将CD插入(注入)到CD播放器中,那么CD播放器其实没有太大用处的。
 4  * 所以可以这样说,CD播放器依赖于CD才能完成它的使命。
 5  * CompactDisc接口定义了CD播放器对一盘CD所能进行的操作。
 6  * 它将CD播放器的任意实现与CD本身的耦合降低到了最小的程度。
 7  */
 8 public interface CompactDisc {
 9     
10     void play();
11 }

猜你喜欢

转载自www.cnblogs.com/BigJunOba/p/9076121.html