当前位置: 首页 > news >正文

长沙企业网站建设制作企业网站的公司

长沙企业网站建设,制作企业网站的公司,哪家网络公司的宽带好,wordpress 美术1、Bean的作用域 1.1、什么是作用域? 限定程序中变量的可用范围叫做作用域,或者说在源代码中定义变量的某个区域就叫做作用域 1.2、Bean的6种作用域 singleton:单例作用域prototype:原型作用域【多例作用域】request&#xff1…

1、Bean的作用域

1.1、什么是作用域?

        限定程序中变量的可用范围叫做作用域,或者说在源代码中定义变量的某个区域就叫做作用域

1.2、Bean的6种作用域

  • singleton:单例作用域
  • prototype:原型作用域【多例作用域】
  • request:请求作用域
  • session:回话作用域
  • application:全局作用域
  • websocket:HHTP WebSocket作用域

后4种状态是Spring MVC中的值,在普通的Spring项目中只有前两种


singleton——单例作用域

  • 含义:该作用域下的Bean在IoC容器中只存在一个实例:获取Bean及装配Bean都是同一个对象
  • 场景:通常无状态的Bean使用该作用域【无状态:表示Bean对象的属性状态不需要更新】
  • 备注:Spring默认选择该作用域

prototype——原型作用域【多例作用域】

  • 含义:每次对该作用域下的Bean的请求都会创建新的实例:获取Bean及装配Bean都是新的对象实例
  • 场景:通常有状态的Bean使用该作用域

request——请求作用域

  • 含义:每次http请求会创建新的Bean实例,类似于prototype
  • 场景:一次http的请求和响应的共享Bean
  • 备注:限定SpringMVC中使用

session——回话作用域

  • 含义:在一个http session中,定义一个Bean实例
  • 场景:用户回话的共享Bean,比如:记录一个用户的登录信息
  • 备注:限定SpringMVC中使用

application:全局作用域

  • 含义:在一个http servlet Context中,定义一个Bean实例
  • 场景:Web应用的上下文信息,比如:记录一个应用的共享信息
  • 备注:限定SpringMVC中使用

websocket——HHTP WebSocket作用域

  • 定义:在一个HTTP WebSocket的生命周期中,定义一个Bean实例
  • 场景:WebSocket的每次会话中,保存一个Map结构的头信息,将用来包裹客户端消息头【第一次初始化后,直到WebSocket结束都是同一个Bean
  • 备注:限定Spring WebSocket中使用

单例作用域(singleton)VS 全局作用域(application)

  • singleton是Spring Core的作用域;application是Spring Web中的作用域
  • singleton作用于IoC的容器;application作用于Servlet容器

1.3、如何设置作用域

  • @Scope("prototype")直接设置值
  • @Scope(ConfigurableBeanFactory.SCOPE_PRTOTYPE)全局变量的方式设置


2、Spring执行流程和Bean的生命周期

2.1、Spring启动和加载流程

 

 Bean 执⾏流程(Spring 执⾏流程):启动 Spring 容器 -> 实例化 Bean(分配内存空间,从⽆到有) -> Bean 注册到 Spring 中(存操作) -> 将 Bean 装配到需要的类中(取操作)。

  • 启动容器【启动项目】
  • 读取配置文件,初始化【使用xml直接注册bean;配置bean根(扫描)路径】
  • 将Bean存储到Spring中,通过类注解进行扫描和装配
  • 将bean从Spring读取出来,装配到相应的类 

2.2、Bean生命周期

Bean 的⽣命周期分为以下 5 ⼤部分:

1.实例化 Bean(为 Bean 分配内存空间)

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

3.Bean 初始化

1、执行各种通知(各种Aware)
比如:
        Spring在初始化 bean,是需要给 bean 赋予 id(name)。
        而设置 beanName 成功的话,就会生成一个 beadNameAware 通知。

2、执行初始化的前置方法
        前提:我们重新 前置方法,不然它按照源码来操作。

3、执行构造方法,两种执行方式。
  3.1、执行具有 @PostConstruct 注解的方法。【PostConstruct -> 初始化方法】
  3.2、执行 init-method 方法,是 Spring 中 配置文件里面 的 bean 标签所有具有的属性。

        这个 两个执行方法,是两个不同时期的产物。@PostConstruct,是一种通过 注解 来初始化的方法。init-method,是 xml 时代 的 初始化方法。但是!它们描述的都是同一件事情 “ 初始化 ”。

它们两个执行的优先级
        这么说吧:如果 两种方法,同时存在。
        先执行 @PostConstruct 注解的方法,然后执行 init-method 方法。
        原因更简单,我们是使用的是高版本的版本,过去的东西终究会被淘汰!

4、执行初始化的后置方法

4.使⽤ Bean
5.销毁 Bean

        销毁容器的各种方法,如 @PreDestroy,DisposableBean 接⼝⽅法,destroy-method
【 PS1:@PreDestroy 和 destroy-method 之间的关系,与 @PostConstruct 和 init-method 之间的关系,是一样的。】
【PS2:如果重写了 DisposableBean 接口方法,就会执行销毁 Bean】
【PS3:优先级:@PreDestroy > DisposableBean > destroy-method】

执⾏流程如下图所示:

好啦,本期结束啦,下期见~

http://www.hrbkazy.com/news/56533.html

相关文章:

  • wordpress主题的连接函数seo优化包括哪些
  • wordpress数据库位置百度关键词如何优化
  • wordpress的官方网站万网注册域名查询
  • 淄博网站建设卓迅网络免费域名
  • 石家庄网站开发设计永久域名查询
  • 山东网站建设湘潭高新区最新新闻
  • 信邦建设工程有限公司网站阿里云域名查询
  • 网站备案号注销查询搜索引擎下载
  • 软件设计师通过率网页优化建议
  • 嘉兴企业自助建站自媒体运营主要做什么
  • 求人做网站的网站上海网络推广优化公司
  • wordpress 哪些网站吗新媒体运营工作是什么
  • 怎么做全民夺宝网站国外常用的seo站长工具
  • 网上营销的概念入门seo技术教程
  • 建设的网站服务器admin5站长网
  • 网站建设详细方案汕头seo外包平台
  • 一个网站开发团队的人员配置百度咨询
  • 网站建设java前后台好处廊坊seo整站优化
  • 金山石化网站建设南宁seo做法哪家好
  • 宁波海曙建设局网站网站模板下载免费
  • 常州关键词优化如何企业网站优化技巧
  • 一个网址建多个网站软件推广是什么工作
  • wordpress博客福利网整站源码单页网站模板
  • 12建网站教育培训机构网站
  • 厦门博客网站制作广州最新疫情情况
  • 黑龙江牡安建设有限公司网站谷歌优化工具
  • 网站html动态效果资阳市网站seo
  • 网站的登录界面是怎么做的广东seo快速排名
  • 做注塑机的网站市场营销毕业论文
  • 动态网站制作视频教程西安全网优化