spring

2020-04-26  本文已影响0人  黑客军团_charles

#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:切面编程-

上一篇下一篇

猜你喜欢

热点阅读