我的github

依赖注入(DI):说白了就是对于属性的赋值。

基于xml的依赖注入有两种:

第一种是基于setter方法的属性注入:<property name="" value(ref)=""></property>。

第二种是基于构造方法的属性注入:<construct-arg name="" value(ref)=""></property>

上面两种无论是基于setter的bean属性注入,还是基于构造方法的bean属性注入。都是比较的麻烦的。都需要写很多行的代码到xml里。byName也好,byType也罢,都需要写到xml里。[而且对bean的要求也比较高,setter注入的话,你的bean要设置set方法。构造注入的话,你的bean要有有参构造函数才行]

第三种属性依赖的注入方式叫做基于注解的依赖注入。

它会自动扫描程序里的所有的bean对象。然后把对应的bean对象赋值给属性。[不需要你写byName或者byType,也不需要你指定对应的bean的名称。当你创建该类的实例化对象(bean)的时候,它会自动的帮你完成属性对应的对象(即另一个bean)的查找和赋值。]

对比:这样,bean和bean之间的依赖关系更好的得到了解决?其实我觉得基于xml好像bean与bean(或者说类与类)之间的关系更一目了然一些。但是确实xml的依赖关系写起来很浪费时间。基于注解的依赖关系查找是目前的主流。

感想:唉,怎么才能既能一目了然地在xml里看到bean与bean之间的依赖关系,又能在代码里基于注解的方式在代码里看到每个属性所依赖的bean。

参考1:https://www.cnblogs.com/maggieq8324/p/15115724.html

参考2:https://zhuanlan.zhihu.com/p/383472273

posted on 2023-08-07 10:00  XiaoNiuFeiTian  阅读(19)  评论(0编辑  收藏  举报