1、spring bean创建生成的声明周期
1、拿到对应的类
2、调用对象的无参构造方法
3、拿到通过构造生产的对象(普通对象)
4、通过依赖注入 填充其属性
5、初始化前(判断属性中是否包含@PostConstruct 如果有 则在初始化前执行其注解对应的方法)
6、初始化(判断对象是否实现InitializingBean ,如果实现执行其重写后的方法)
7、初始化后(aop 判断对象是否需要执行aop 如果需要则会生成代理对象 后边放入单例池中的对象也就是代理对象,如果不需要执行aop 则放入单例池的就是普通spring对象)
8、放入单例池Map(Map<beanName,Bean> 这也决定的springBean都是单例的)
9、生成SpringBean