3.用Spring管理对象之间的关联关系

按照传统的面向对象逻辑,每次我想利用printer对象来打印的时候,就必须要给printer对象里的成员变量message赋值,但我不想每次都这么麻烦,怎么办呢?

我们回到MessagePrinter类,在它的serMessage函数上加一行注解,@Autowired,这个注解的意思是自动调用setService函数。

这样,它就能帮我们把service和printer之间的关联关系创建出来了。

为了测试注解是否可用,我们回到ApplicationSpring类,把setMessage这行代码注释掉再运行看看。

既然setService这行代码没用了,那我们也就没必要把这个对象获取出来了,就把它也注释掉

结果执行成功

 

这里我们的流程是:

  1. 先进行Spring容器的初始化

     

  2. 然后从容器中拿到Printer对象

     

  3. 由于Service对象和Printer对象有了注解@Component,所以在Spring容器初始化时它就已经被初始化,再加上Printer对象里的setMessage函数也有了@Autowired注解,则service对象就自动与Printer对象绑定起来了,我们就可以直接用了。

猜你喜欢

转载自www.cnblogs.com/zilongmao/p/10151826.html