配置是指properties或者yaml吗?服务本身部署环境就不一样,不放配置文件里放哪?测试 模拟 灰度 生产上一个环境改一遍代码吗?
先想想下面几个问题:
1. 对象提供了n个构造器, 实例化如何选择构造器? 构造器内所需参数也是bean, 该如何处理? 在beanDefinition中定义了构造器的参数, 构造器又该怎么选择?(AutowiredAnnotationBeanPostProcessor#determineCandidateConstructors了解下>
2. 对象间需要循环依赖怎么处理? 当循环依赖的对象又都需要被代理, 又怎么处理? 当这些对象生成后客户需要继续对这些对象再处理又该怎么处理?
3. @Configuration标注的配置类如何避免重复创建对象? Spring中各种关系怎么处理?[@Conditional, @DependsOn, @Import(import其他后置处理器又该怎么处理>]
4. 用户需要自定义bean到容器里, 如何提供扩展? 允许bean整个生命周期进行干涉, 又如何扩展?([@Autowired, @Resource]注解也只是扩展, 源码里删掉处理@Autowired的后置处理器照样跑>
5. 允许用户直接设置bean属性, 值可以设置任意对象, 当所需值是[class, bean, 原型bean, 集合容器, 泛型, File, Resource]时如何处理?
不轻量是你使用了太多Spring其他内容,Spring核心只有一个spring-context还不轻量?
看过了源码才知道,Spring真的是神,最好的框架没有之一
关注数量超出限制,
请先删除部分内容再尝试