spring

作者: 黑客军团_charles | 来源:发表于2020-04-26 22:38 被阅读0次

    #Spring 是什么?

        Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架。

        优点:

        1)方便解耦,简便开发。

        2)支持AOP编程

    # spring  体系结构

    1、data access、

    2、web、

    3、AOP、

    4、core container、

    5、test

    ## core container  核心容器

        4大核心:

        1)beans  beans 容器

        2)core 核心

        3) context  上下文

        4)expression  表达式

    # DI、IOC、AOP

    ## DI:依赖注入

        DI为实现IOC思想做支持。

        依赖注入有三种方式 1、属性注入  2、构造器注入 3、工厂注入  主要是 1和 2。

        如果一个对象依赖于其它的对象,此时就需要注入被依赖的对象,例如:service 依赖与dao, 此时需要在service的bean中注入(ref) dao。

    ##一些名词

        1. property: 用于进行属性注入

            1) name :bean的属性名称,通过setter方法获得。

            2) ref: 另一个bean的 id 的引用。

        2.API

        1)BeanFactory: 是一个生成bean的工厂,采取延迟加载bean,在第一次getbean()的时候,才会初始化bean.与ApplicationContext区别。

        2)classPathXmlApplicattion: ApplicationContext 的子接口。加载配置文件,相对路径加载,一般架加载src下的文件(运行时的是/WEB-INF/class/xxx)路径。

        3)FileSystemXmlApplication:ApplicationContext 的子接口。加载指定盘符下的配置文件。

        4)ApplicationContext:上下文,是BeanFactory的子接口,可以自动装配bean、事件传递、国际化、各应用层的context实现。

            当配置文件被加载的时候,对象就被实例化了。

    ## IOC:控制反转

        是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。一般情况下,我们去使用某个对象,就需要自己去创建这个对象,

        而应用了Spring框架,则从spring容器中获取,把穿甲 对象的控制权反转给了spring框架。

        举个简单的例子:正常情况下,想要吃蛋炒饭,你要准备饭、蛋、器材,这些都要你自己准备。

        但是如果有饭店做,那么我们直接叫饭店做,然后去取就可以了。这个例子中“饭店”就是spring 的ioc容器。

    ## spring bean

          1、

    ### 基于xml

    #### 实例话方式

        3种实例化的方式:

        1)默认构造: 使用默认的构造函数,因此被加载的bean 对象的类,必须有一个空参构造函数,否则报错。

        2)静态工厂:通过一个静态方法生产bean,它的方法是static的。在bean 中使用 <bean  id ="" class =""  factory-method=""> 配置。一般与单例模式结合。

        3)实例工厂:必须先有工厂的实例对象,然后通过实例对象去创建对象,所有的方法都是非静态的。

                先定义工厂的bean,然后定义需要获取的需要加载对象的bean,再这个对象的bean中配置工厂的id:factory-bean="" 和方法factory-method=""。

    #### bean 的生命周期

    #### bean 的种类

    #### bean 的作用域

        scop

          单例和多例

    # AOP:切面编程-

    相关文章

      网友评论

          本文标题:spring

          本文链接:https://www.haomeiwen.com/subject/wxvswhtx.html