SSH框架之Spring

一.Spring的核心是控制反转(IOC)和面向切面(AOP),是一站式轻量级框架

    IOC:即将Bean对象的创建,依赖关系,交给Spring容器来管理,用来解耦,------工厂模式

      实现控制反转的一种方式:依赖注入

                      1.set方法注入

                      2.构造函数注入

    AOP:即提供切面编程,j将重复性代码抽取,在不改变源码的基础上对方法进行加强,可以对程序进行拦截------动态代理

      好处:维护方便,减少重复性代码, 执行效率提高(字节码代理)

    动态代理分类:

      基于接口的动态代理

        涉及的类Proxy.是JDK官方提供的

          Proxy.newProxyInstance(ClassLoader,interfaces,new InvocationHandler())

        要求:被代理的对象至少实现一个接口

      基于子类的动态代理

        涉及的类: Enhancer是CGLIB提供的,第三方

            Enhancer.create(Class,new MethodInterceptor(){});

        要求:被代理的类不能是final修饰的

二.ApplicationContext是Spring提供的一个接口,是Spring的容器对象,我们使用该对象从Spring容器中

    获取bean的对象,它有两个实现类

      1.ClassPathXmlApplicationContext:它从类的根路径下加载配置文件,其他路径的不能加载

      2.FileSystemApplicationContext:它可以加载磁盘中任意位置的文件

  BanFactory和ApplicationContext的区别:

    BeanFactory:它使用延迟加载思想来创建Bean对象

    ApplicationContext:它使用立即加载的思想来加载Bean对象

三.bean的生命周期:

  1.单例:

    出生:应用加载时,对象创建

    活着:只要容器存在,一直活着

    死亡:容器销毁,对象消亡

  2.多例:

    出生:应用加载时,对象创建

    活着:只要对象一直被使用,一直活着

    死亡:当对象长时间没有使用时,由JVM的垃圾回收机制回收

 

posted @ 2017-03-10 00:16  我_会飞的鱼  阅读(132)  评论(0编辑  收藏  举报