“你听说了吗?阿里、字节最近的Java面试题又加难了!”
“嗯?咋了?”
“Spring又被拿出来问了,这次居然问到了Inner Beans!”
“这不是冷门题吗?”
“是啊,我一开始还真没答上来……”
是的!今天要跟大家唠嗑的,就是这个在面试中悄悄冒头,但平时开发中却经常被我们忽略的一个概念:Spring的内部Bean(Inner Beans)!
先打个招呼:大家好呀,我是小米,31岁,Java开发第9年,一路从小公司写CRUD写到十八线大厂做架构,也面过人也被面过人。最近在整理社招Java高级岗位的面试题库,突然看到这道题,心里一惊——这个概念可真不“显眼”,却特别适合考察你对Spring核心机制的理解。
于是,我决定,好好写一篇文章,彻底搞清楚“Spring内部Bean”到底是个啥!
真实面试场景还原:你知道什么是Inner Beans吗?
面试官:你用过Spring框架吧?
我:嗯,用了很多年了。
面试官:那你知道Spring中什么是内部Bean吗?
我:……(心中一惊,这玩意我好像见过但没深入想过啊)
是不是有点耳熟?是不是一脸懵?
其实,我第一次看到Inner Beans,还是在一个 XML 配置文件中,无意间看到某个 <bean> 标签里,嵌套了另一个 <bean> 标签。当时我就懵了:Spring 居然还能这样写?
来,咱先用一个简单的例子回忆一下
什么是Spring内部Bean(Inner Bean)?
所谓内部Bean,其实就是在 Spring X