11.39 这里说的匿名类,看不懂代码,帮看看
来源:8-3 夺取doGetBean之剩余逻辑的扫荡

慕哥6062902
2023-01-08
Object scopedInstance = scope.get(beanName, () -> {
beforePrototypeCreation(beanName);
try {
return createBean(beanName, mbd, args);
}
finally {
afterPrototypeCreation(beanName);
}
});
翔仔老师,这个匿名类,我只知道是ObjectFactory的实现类,但是看不懂这几行代码啥意思,
beforePrototypeCreation(beanName) |
createBean(beanName, mbd, args) |
afterPrototypeCreation(beanName) 这三个方法不是都在AbstractBeanFactory类里面吗,为什么匿名类可以这样直接调用?是不是说这个匿名类,同时实现了ObjectFactory 和 AbstractBeanFactory ,然后在ObjectFactory#getObject中调用了上述的三个方法呢?我要咋验证这段代码的效果呢
写回答
1回答
-
翔仔
2023-01-11
同学好,11:39没有这个东西呀,点进去看看ctrl+左键点进去afterPrototypeCreation看看是否属于 AbstractBeanFactory 这个类,然后这个匿名类是哪里的?匿名类是能引用外部类的方法的
022023-01-11
相似问题