Spring框架--Bean的作用域

Bean的作用域:Bean在整个Spring框架(项目)中的某种行为模式。

作用域定义:

限定程序中变量的可用范围叫做作用域,

Bean的作用域是指Bean在Spring整个框架中的某种行为模式,比如singleton单例作用域,就表示Bena在整个Srping中只有一份,他是全局共享,当该值被修改,则后面读取到的就是修改之后的值。

Bean的作用域分类:

1.singleton:单例作用域【默认作用域】

无状态的Bean使用该作用域【当调用该类只是使用而不修改的时候】

2.prototype:原型作用域【每次对该作用域下的Bean的请求都会创建新得实例--》深克隆】

3.request:请求作用率【每一次http请求都会创建新得Bean实例】

场景:一次请求和响应得共享Bean  限定SpringMVC中使用

4.session:会话作用域【一次会话共享Bean】

5.applicatin:全局作用域【在一个http servlet Context中定义一个Bean实例】

Bean作用域得设置

@Scope("prototype")-->设置原型作用域

@Bean

Spring得执行流程

启动Spring容器-》实例化Bean(分配内存空间,从无到有)-》Bean注册到Spring中(存操作)-》将Bean装配到需要得类中(取操作)

1.启动容器(启动项目)

2.读取配置文件,初始化

  a)使用xml直接注册bean

  b)配置bean根(扫描)路径

3.将bean存储到spring中,通过类注解进行扫描和装配

4.将bean从spring中读取出来,装配到相应得类

Bean得生命周期

1.实例化(对应JVM中的“加载”【从无到有,将字节码转换成内存中的对象,只是分配了内存】

2.设置属性(Bean注入和装配)

3.初始化

a)各种通知

b)初始化的前置工作

c)进行初始化工作【使用注解@PostConstruct初始化、使用(xml)init-method初始化】

d)初始化的后置工作

4.使用Bean

5.销毁Bean

你可能感兴趣的:(spring,java,后端)