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

专业做轮胎的网站seo提升排名技巧

专业做轮胎的网站,seo提升排名技巧,自己可以做拼单网站吗,做淘宝图标网站目录 一、作用域是什么? 1、singleton(单例作用域) 2、prototype(原型作用域) 3、request(请求作用域) 4、session(回话作用域) 5、application(全局作用域&a…

 

目录

一、作用域是什么?

1、singleton(单例作用域)

2、prototype(原型作用域)

3、request(请求作用域)

4、session(回话作用域)

5、application(全局作用域)

6、websocket( HTTP WebSocket 作用域)

二、单例作⽤域VS 全局作⽤域

三、设置作用域

一、作用域是什么?

Bean的作用域是指Bean实例的生命周期及可见性范围,Spring框架定义了以下6种作用域:

  1.  singleton:单例作用域,所有对该Bean的请求都返回同一个Bean实例。
  2. prototype:原型作用域,每次请求时都创建一个新的Bean实例。
  3. request:请求作用域,每个HTTP请求都会创建一个新的Bean实例,该Bean实例仅在当前请求内有效。
  4.  session:会话作用域,每个HTTP会话都会创建一个新的Bean实例,该Bean实例仅在当前会话内有效。
  5. application:全局作用域,一个bean 定义对应于单个ServletContext 的生命周期。
  6. websocket: HTTP WebSocket 作用域,一个bean 定义对应于单个websocket 的生命周期。

选择适当的作用域可以提高应用程序的性能和可维护性。

 下面用一个例子来解释Bean的作用域:你和别人一起协同开发的代码中有个Bean不想别人改动,那就可以通过调整Bean的作用域来解决.

下面有两个用户张三和李四,张三呢 调用了公共对象,但是张三特意使用了 user2来接收,

此时李四也想使用这个对象;然后他们一起调用了,但是发现李四调用的时候这个Name也被修改成小猫了.这是为什么呢 张三明显创建了一个新对象

其实真实的情况是Spring的IoC容器有两种作用域模式,一种是IoC默认的singleton(单例作用域),一种是可手动修改的prototype(原型作用域 / 多例作用域),在默认情况下,IoC容器采用singleton,也就是所有人获取到的都是同一个Bean对象,这样效率会高很多.

所以当我们使用原型模式时这个问题就解决了

//张三
@Controller
public class UserController2 {@Autowiredprivate User user;public void doMethod() {User user2 = user;System.out.println("UserController2 修改之前:User -> " + user);user2.setName("小猫");System.out.println("UserController2 修改之后:User -> " + user);}}
//李四
@Controller
public class UserController3 {@Autowiredprivate User user;public void doMethod() {System.out.println("UserController3:user -> " + user);}}

1、singleton(单例作用域)

  • 官⽅说明:(Default) Scopes a single bean definition to a single object instance for each Spring IoC container.
  • 描述:该作⽤域下的Bean在IoC容器中只存在⼀个实例:获取Bean(即通过applicationContext.getBean等⽅法获取)及装配Bean(即通过@Autowired注⼊)都是同⼀个对象。
  • 场景:通常⽆状态的Bean使⽤该作⽤域。⽆状态表示Bean对象的属性状态不需要更新
  •  备注:Spring默认选择该作⽤域

2、prototype(原型作用域)

  • 官⽅说明:Scopes a single bean definition to any number of object instances.
  • 描述:每次对该作⽤域下的Bean的请求都会创建新的实例:获取Bean(即通过applicationContext.getBean等⽅法获取)及装配Bean(即通过@Autowired注⼊)都是新的对象实例。
  • 场景:通常有状态的Bean使⽤该作⽤域

上图中,每个引用对应一个新的bean实例。

请注意,上图中的例子不适用于生产环境。因为DAO通常来说是无状态的bean,应该指定它的作用域为singleton比较合适

3、request(请求作用域)

  • 官⽅说明:Scopes a single bean definition to the lifecycle of a single HTTP request. That is, each HTTP request has its own instance of a bean created off the back of a single bean definition. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:每次http请求会创建新的Bean实例,类似于prototype
  • 场景:⼀次http的请求和响应的共享Bean
  • 备注:限定SpringMVC中使⽤

4、session(回话作用域)

  • 官⽅说明:Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在⼀个http session中,定义⼀个Bean实例
  • 场景:⽤户回话的共享Bean, ⽐如:记录⼀个⽤户的登陆信息
  • 备注:限定SpringMVC中使⽤

5、application(全局作用域)

  • 官⽅说明:Scopes a single bean definition to the lifecycle of a ServletContext. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在⼀个http servlet Context中,定义⼀个Bean实例
  • 场景:Web应⽤的上下⽂信息,⽐如:记录⼀个应⽤的共享信息
  • 备注:限定SpringMVC中使⽤

6、websocket( HTTP WebSocket 作用域)

  • 官⽅说明:Scopes a single bean definition to the lifecycle of a WebSocket. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在⼀个HTTP WebSocket的⽣命周期中,定义⼀个Bean实例
  • 场景:WebSocket的每次会话中,保存了⼀个Map结构的头信息,将⽤来包裹客户端消息头。第⼀次初始化后,直到WebSocket结束都是同⼀个Bean。
  • 备注:限定Spring WebSocket中使⽤

二、单例作⽤域VS 全局作⽤域

  • singleton 是 Spring Core 的作⽤域;application 是 Spring Web 中的作⽤域;
  • singleton 作⽤于 IoC 的容器,⽽ application 作⽤于 Servlet 容器。

三、设置作用域

singleton作用域是Spring中默认的作用域,

使⽤ @Scope 标签就可以⽤来声明 Bean 的作⽤域,⽐如设置 Bean 的作⽤域,如下代码所示:
@Component
public class Users {@Scope(prototype)@Bean(name = "u")public User user() {User user = new User();user.setId(1);user.setName("Hi user"); return user;}
}
@Scope 标签既可以修饰⽅法也可以修饰类,@Scope 有两种设置⽅式:
1. 直接设置值:@Scope("prototype")
2. 使⽤枚举设置:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

 

http://www.dinnco.com/news/19499.html

相关文章:

  • 外贸建站用什么服务器运营网站
  • 获取访问网站的qq宁波seo排名方案优化公司
  • 做网站指导友情链接怎么购买
  • 个人网站如何建百度关键词价格查询软件
  • 网站按抓取手机软件贵阳卡一卡二卡三入口2021
  • html视频网站模板上海网站建设制作
  • 有什么平台做网站比较好龙华网站建设
  • 建行个人网上银行登录衡阳seo外包
  • java+做网站后台seo优化技巧有哪些
  • 沧州网站制作雅思培训班价格一览表
  • 网站备案信息更改审核要多久搜索软件排行榜前十名
  • 网站制作怎样快速百度推广优化方案
  • 网站搜索优化找哪家seo兼职外包
  • 做企业画册网站有文大侠seo
  • 天猫建设网站的目的广告接单平台app
  • 前端开发学习网站seo最好的工具
  • wordpress disqus东营seo
  • 网站改版灵感库网站链接分析工具
  • 无锡集团网站建设网站页面设计模板
  • 加盟项目2023推荐合肥seo外包平台
  • 企业自建服务器网站建设流程商丘优化公司
  • 中企动力做的保安服务网站网络公司取什么名字好
  • 顺德建网站南京百度网站推广
  • 网站备案 新闻类前置审批搜索引擎优化seo网站
  • 做网站费用怎么核算首页优化排名
  • 华强北电子商城老鬼seo
  • 成都vr 网站开发网页百度网盘
  • 百度云做网站空间西安seo代运营
  • 用php和mysql做网站小红书推广价目表
  • 网络会议系统广安网站seo