一个方法只能注册一个 Bean,名称解析期就定死 2️⃣ 没法 if/else 选择注册 A 还是 B 3️⃣ 没法 for 循环注册 50 个路由 Bean——那得写 50 个注解方法 😫
以前只能用 ImportBeanDefinitionRegistrar 硬写,API 底层到让人怀疑人生:手工 new BeanDefinition、setBeanClass、setPropertyValues……
Spring Boot 4 给了新答案:BeanRegistrar——一个函数式接口,register() 方法体里随便写 if/for/switch,Environment 直接入参,链式 API 一行搞定 scope/lazy/primary。
最被低估的新特性,看完你会想立刻用上
![[灵光一现]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_25.51e6984.png)
![[黑脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_99.3264111.png)