zoukankan      html  css  js  c++  java
  • 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的垃圾回收机制回收

  • 相关阅读:
    错删表空间的恢复步骤
    如何使用PL/SQL进行远程数据库连接
    Oracle基础笔记
    PL/SQL如何导入dmp文件
    oracle表的基本操作
    sql里面的分页
    truncate table语句和delete table语句的区别
    c++ 时间类型详解 time_t[转]
    C++ 容器:顺序性容器、关联式容器和容器适配器
    XCode 快捷键
  • 原文地址:https://www.cnblogs.com/2nao/p/6528632.html
Copyright © 2011-2022 走看看