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的垃圾回收机制回收

  • 相关阅读:
    CSS
    Html5
    [LeetCode] 78. Subsets(子集)
    [LeetCode] 22. Generate Parentheses(括号生成器)
    [LeetCode] 406. Queue Reconstruction by Height(按身高重排队列)
    [LeetCode] 46. Permutations(全排列)
    [LeetCode] 94. Binary Tree Inorder Traversal(二叉树的中序遍历)
    [LeetCode] 338. Counting Bits(数比特位)
    [LeetCode] 763. Partition Labels(标签划分)
    [LeetCode] 20. Valid Parentheses(有效的括号)
  • 原文地址:https://www.cnblogs.com/2nao/p/6528632.html
Copyright © 2011-2022 走看看