1、Spring 创建的 Bean 和普通的 Java 对象有什么区别?
2、Bean 的创建生命周期
调用构造方法(推断构造方法) -> 普通对象 -> 依赖注入(属性赋值) -> 初始化前 (PostConstruct)-> 初始化(InitializingBean.afterPropertiesSet()) -> 初始化后(AOP) -> 代理对象 -> Bean
3、Bean 的销毁生命周期
@Bean 会覆盖 @Component
Spring 容器简单理解就是一个 Map
注入 bean 时,先根据「byType」去 Spring 容器中找,如果找到了多个,就再根据「byName」去找,最终至多只会找到一个