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

c 做web网站哪里有网络推广

c 做web网站,哪里有网络推广,做网站时给图片添加链接,网站建设的功能定位目录 什么是 Bean 的作用域 ?Bean 的六种作用域Spring 的执行流程Bean 的生命周期 什么是 Bean 的作用域 ? Bean 的作⽤域是指 Bean 在 Spring 整个框架中的某种⾏为模式,⽐如 singleton 单例作⽤域,就表示 Bean 在整个 Spring 中只有⼀份&#xff0c…

目录

  • 什么是 Bean 的作用域 ?
  • Bean 的六种作用域
  • Spring 的执行流程
  • Bean 的生命周期

什么是 Bean 的作用域 ?

Bean 的作⽤域是指 Bean 在 Spring 整个框架中的某种⾏为模式,⽐如 singleton 单例作⽤域,就表示 Bean 在整个 Spring 中只有⼀份,它是全局共享的,那么当其他⼈修改了这个值之后,那么另⼀个⼈读取到的就是被修改的值。

它的概念与我们之前学的作用域不一样,之前是指变量的可⽤范围叫做作⽤域。

Bean 的六种作用域

  1. singleton:单例作用域(默认的作用域,线程不安全)
    说明:该作⽤域下的 Bean 在 IoC 容器中只存在⼀个实例:获取 Bean 及装配 Bean 都是同⼀个对

    场景:通常⽆状态的 Bean 使⽤该作⽤域。⽆状态表示 Bean 对象的属性状态不需要更新
    (无状态的 bean:只有普通的对数据的操作方法,没有存储功能)
  1. prototype:原型(多例)作用域 (线程安全)
    说明:每次对该作⽤域下的 Bean 的请求都会创建新的实例:获取 Bean 及装配 Bean 都是新的对象
    实例
    场景:通常有状态的Bean使⽤该作⽤域
  1. request:请求作用域
    说明:每次http请求会创建新的Bean实例,类似于prototype
    场景:⼀次http的请求和响应的共享Bean
    备注:限定SpringMVC中使⽤
  1. session:会话作用域
    说明:在⼀个http session中,定义⼀个Bean实例
    场景:⽤户回话的共享Bean, ⽐如:记录⼀个⽤户的登陆信息
    备注:限定SpringMVC中使⽤
  1. application:应用作用域(了解)
    说明:在⼀个http servlet Context中,定义⼀个Bean实例
    场景:Web应⽤的上下⽂信息,⽐如:记录⼀个应⽤的共享信息
    备注:限定SpringMVC中使⽤
  1. websocket(了解)
    说明:在⼀个HTTP WebSocket的⽣命周期中,定义⼀个Bean实例
    场景:WebSocket的每次会话中,保存了⼀个Map结构的头信息,将⽤来包裹客户端消息头。第⼀
    次初始化后,直到WebSocket结束都是同⼀个Bean
    备注:限定Spring WebSocket中使⽤

注意:普通的 Spring 项⽬中只有前两种,后 4 种状态是 Spring MVC 中的。

两种设置多例作用域方法:
@Scope(“prototype”)
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

检验默认作用域是否为单例作用域:

User 类:

public class User {private String name;private int id;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}
}

Users 类(存储公共对象):

@Service
public class Users {@Beanpublic User getUser(){User user = new User();user.setId(888);user.setName("张三");return user;}
}

取对象的两大类:

@Controller
public class UserController1 {@Autowiredprivate User user;public void doMethod() {System.out.println("修改前的名字: " + user.getName());user.setName("王五");System.out.println("修改后的名字: " + user.getName());}
}
@Controller
public class UserController2 {@Autowiredprivate User user;public void doMethod() {System.out.println("UserController2 拿到的名字: " + user.getName());}
}

启动类:

public class App {public static void main(String[] args) {ApplicationContext context =new ClassPathXmlApplicationContext("spring-config.xml");UserController1 userController1 =context.getBean("userController1",UserController1.class);userController1.doMethod();UserController2 userController2 =context.getBean("userController2",UserController2.class);userController2.doMethod();}
}

输出:
在这里插入图片描述
可以看到张三这个名字被改后,后续再取这个 Bean 就拿不到张三了。

设置多例作用域:

@Service
public class Users {@Scope("prototype")@Beanpublic User getUser(){User user = new User();user.setId(888);user.setName("张三");return user;}
}

在这里插入图片描述
这里拿到的每个 Bean 对象都是 new 了一个新的,不是直接拿容器中原有的对象。

Spring 的执行流程

  1. 启动容器
  2. 读取配置进行 Bean 的实例化(分配内存空间,从无到有)
  3. 将 Bean 加入到容器中(存操作)
  4. 装配 Bean 属性(取操作)

Bean 的生命周期

⽣命周期指的是⼀个对象从诞⽣到销毁的整个⽣命过程,Bean 的生命周期分为下面五个部分:

  1. 实例化(内存空间分配)
  2. 设置 Bean 属性(进行依赖注入,将依赖的 Bean 赋值到当前类属性上)
  3. Bean 的初始化
    3.1 执行各种通知
    3.2 初始化的前置方法
    3.3 初始化方法
    3.4 初始化的后置方法
  4. 使用 Bean
  5. 销毁 Bean

实例化和初始化的区别:
实例化和属性设置是 Java 级别的系统“事件”,其操作过程不可⼈⼯⼲预和修改;⽽初始化是给开发者提供的,可以在实例化之后,类加载完成之前进⾏⾃定义“事件”处理

http://www.hengruixuexiao.com/news/9951.html

相关文章:

  • wordpress可以上传文件吗seo机构
  • 网站找不到首页seo优化评论
  • 山西住房与城乡建设厅定额网站网络市场调研的方法
  • 郑州做网站的专业公司有哪些推广下载app赚钱
  • 学做网站论坛可靠吗东莞网站制作
  • 怎么做一个电子商务网站免费发帖的网站
  • 赣州做公司网站外包网络推广营销
  • 深圳品牌网站设计专家佛山全市核酸检测
  • wordpress当前分类页面地址某网站seo诊断分析和优化方案
  • 如何使用开源程序做网站win7优化配置的方法
  • 做淘宝的批发网站有哪些手续重庆seo推广外包
  • 郑州行业网站建设广州网站运营专业乐云seo
  • 桐城58网站在那里做推广普通话海报
  • 哪些网站适合花钱做推广网站友链交换平台
  • 没有备案网站可以做优化么电商网站设计论文
  • api模式网站开发介绍线上推广渠道主要有哪些
  • app对接网站登录要怎么做网店代运营可靠吗
  • 手机静态网站开发制作合肥网站优化公司
  • 王爷他精分成疾txt下载优化网站标题是什么意思
  • 烟台html5网站建设seo是指
  • 银川网站建设在线刷关键词网站排名
  • 做网站需要去工商备案吗优化设计单元测试卷
  • 做视频网站弹窗竞价广告是什么意思
  • 仿漫画网站建设定制小说网站系统源码建设济南网站建设制作
  • 什么是b2b销售模式宁波seo软件免费课程
  • 二道江网站建设网络推广seo怎么弄
  • 沈阳模板建站方案百度问一问客服人工在线咨询
  • 成都网站建设 哪家比较好网络营销实施方案
  • seo点击软件哪个好用单页网站怎么优化
  • 衡阳网站开发2345网址大全设主页