bean的创建过程

实例化->依赖注入->初始化前->初始化->初始化后->动态代理对象->bean对象->添加到map集合
实例化是通过反射的方式:因为知道类名,默认无参构造实例化,若主动添加了有参构造,按照有参构造实例化,若有多个有参构造,报错
aop通过动态代理实现,动态代理包括jdk和cglib两种方式,jdk是通过实现目标类(cglib通过继承目标类)在动态代理类中创建一个target=目标类对象,通过target去调用目标类对象的方法,以达到增强目标类对象的效果
map集合的bean的key就是这个对象的类名,因此可以通过getBean方法获取该bean