1. Spring-IOC-AOP:
    1. LogAspectProxy{
    2. try{
    3. @Before
    4. method.invoke() //pjp.procced(args)
    5. @AfterReturning
    6. }catch(e){
    7. @AfterThrowing
    8. }finally{
    9. @After
    10. }
    11. }

    IOC:

    1. ioc是一个容器
    2. 容器启动的时候会创建所有单实例对象
    3. 我们可以之类从容器中获取对象

    SpringIOC:

    1. ioc容器的启动过程? 启动期间都做了什么? 什么时候创建所有单实例bean
    2. ioc是如何创建这些单实例bean, 并如何管理; 到底保存在哪里?

    BeanFactory和ApplicationContext的区别:

    • BeanFactory: bean工厂; 负责创建bean实例, 容器里面保存的所有单例bean其实是一个map
    • ApplicationContext: 是容器接口;更多的负责容器功能的实现; (可以基于benaFactory创建好的对象之上完成强大的容器) 容器可以从map获取bean, 并且aop di在ApplicationContext接口下的这些类里面
    • BeanFactory是最底层的接口, ApplicationContext留给程序员使用的ioc容器接口; ApplicationContext是BeanFactory的子接口;

    Spring里面最大的模式就是工厂模式