Spring中的Bean
程序员文章站
2022-03-03 11:50:15
...
在观看项目的代码的时候,发现了一个有趣的事情。来看一下下面的代码
private static Map<String, DepReviewService> reviewServiceMap = SpringFactoryUtils.getBeanMap(DepReviewService.class);
这里需要解释的是map的value是一个抽象类,并且还有好几个子类。
众所周知,抽象类是不能实例对象的,然后我就点进这个抽象类去看了,更有意思的是里面的一个方法调用了一个自己的一个抽象方法。问题是,他有这么多个子类,这么多个的子类的的抽象方法的实现都是void,那么怎么确定他到底调用的哪个呢,这个时候就该体现Spring框架的神奇之处了。
熟悉Spring的都知道bean对象,也知道IOC容器,我们将创造对象的权力交给了Spring。上面那行代码的意思就是将这个抽象类的子类和某些个String动态绑定起来。这样我们调用map的时候就可以直接用了,而不是一个个的去put,如果这个抽象类有100多个,如果我们用传统的方法岂不是得put100次。
革命尚未成功,同志仍需努力。
下一篇: Spring中的Bean
推荐阅读