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

网站开发路线上海原单外贸一条街

网站开发路线,上海原单外贸一条街,销帮帮crm,怎样建个自己的网站目录 一、什么是Bean的作用域 二、Scope注解 三、Bean的6种作用域 3.1 singleton单例模式 3.2 prototype 原型模式 3.3 request 3.4 session 3.5 application 3.6 websocket 一、什么是Bean的作用域 在之前学习的过程中#xff0c;我们把作用域定义为#xff1a;限定程序中变… 目录 一、什么是Bean的作用域 二、Scope注解 三、Bean的6种作用域 3.1 singleton单例模式 3.2 prototype 原型模式 3.3 request 3.4 session 3.5 application 3.6 websocket 一、什么是Bean的作用域 在之前学习的过程中我们把作用域定义为限定程序中变量的可用范围或者说是定义变量的某个区域。但是在Bean中这个作用域指的是Bean在Spring框架中的某种行为。接下来以一个案例分析一下 首先创建一个User类同时创建一个Users类将User对象储存到Spring中这里都是利用注解的方式以后也是采取这种方式了 public class User {private String name;private int id;Overridepublic String toString() {return User{ name name \ , id 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;} }Component public class Users {Beanpublic User user() {User user new User();user.setName(公共名);user.setId(1);return user;} } 这里有一个需求就是一个开发人员需要获取到这个User类的对象并将这个User类对象中原始的“公共名”改成张三并且不能修改原类名 在这个操作中开发人员并没有直接拿user对象去修改其中的属性而是另外创建了一个user1去接收user同时在user1中对name属性进行修改 Controller public class UserController1 {Resourceprivate User user;public void setName() {User user1 user;user1.setName(张三);System.out.println(user1);} } 通过在Spring的配置文件中配置注解扫描路径然后再通过Spring提供的工厂获取到类对象。通过测试我们发现已经是成功了。 Test public void test() {ApplicationContext ctx new ClassPathXmlApplicationContext(spring-config.xml);UserController1 userController1 ctx.getBean(userController1, UserController1.class);userController1.setName(); } 按照思路这里应该是没有修改原来的user类的但是突然有一天另一位开发人员需要去获取原来user类中的内容 Controller public class UserController2 {Resourceprivate User user;public void getUser() {System.out.println(user);} } public void test() {ApplicationContext ctx new ClassPathXmlApplicationContext(spring-config.xml);// 这里是第一个开发人员的UserController1 userController1 ctx.getBean(userController1, UserController1.class);userController1.setName();// 第二个开发人员的UserController2 userController2 ctx.getBean(userController2, UserController2.class);userController2.getUser(); } 这里测试就会发现有问题了原始类中的name也被修改了其实这就是我们说的Bean的作用域因为Bean作用域默认是Singleton所以这里只会创建出一个对象 二、Scope注解 对于上述的问题我们要怎么去解决呢我们这里引入一个新的注解Scope来设置Bean的作用域这里将Bean的作用域设置为“prototype”原型模式多例模式 Component public class Users {Bean(user)Scope(prototype)public User user() {User user new User();user.setName(公共名);user.setId(1);return user;} } 再次运行测试程序我们发现这个问题就解决了 除了直接写上作用域的方式Scope还提供了一种添加作用域的方式使用枚举设置这种方式和直接写作用域名称的方式是等价的 Component public class Users {Bean(user)Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)public User user() {User user new User();user.setName(公共名);user.setId(1);return user;} } 三、Bean的6种作用域 3.1 singleton单例模式 描述该作用域下的Bean在IoC容器中只有一个实例获取Bean即通过 applicationContext.getBean等⽅法获取及装配Bean即通过Autowired注⼊都是同⼀个对象 场景通常⽆状态的Bean使⽤该作⽤域。⽆状态表示Bean对象的属性状态不需要更新 备注Spring默认选择该作用域 3.2 prototype 原型模式 描述每次对该作⽤域下的Bean的请求都会创建新的实例获取Bean即通过applicationContext.getBean等⽅法获取及装配Bean即通过Autowired注⼊都是新的对象实例。场景通常有状态的Bean使⽤该作⽤域 3.3 request 描述每次http请求会创建新的Bean实例类似于prototype场景⼀次http的请求和响应的共享Bean备注限定SpringMVC中使⽤ 3.4 session 描述在⼀个http session中定义⼀个Bean实例场景⽤户回话的共享Bean, ⽐如记录⼀个⽤户的登陆信息备注限定SpringMVC中使⽤ 3.5 application 描述在⼀个http servlet Context中定义⼀个Bean实例场景Web应⽤的上下⽂信息⽐如记录⼀个应⽤的共享信息备注限定SpringMVC中使⽤ 3.6 websocket 描述在⼀个HTTP WebSocket的⽣命周期中定义⼀个Bean实例场景WebSocket的每次会话中保存了⼀个Map结构的头信息将⽤来包裹客户端消息头。第⼀次初始化后直到WebSocket结束都是同⼀个Bean。备注限定Spring WebSocket中使⽤
http://www.w-s-a.com/news/184988/

相关文章:

  • 收益网站制作移动互联网应用的使用情况表格
  • 专业的手机网站建设公司哪家好同城信息网站建设
  • 参与做网站的收获国外网站服务器建设
  • 西宁网站建设报价cu君博规范网站kv如何做
  • 毕业室内设计代做网站广东建设监理协会网站个人账号
  • 百度推广点击收费标准自己如何做网站优化
  • 安徽省建设监理网站广州澄网站建设公司
  • 做简历用什么网站俄罗斯搜索引擎浏览器官网入口
  • dw里响应式网站怎么做制作网站需要多少时间
  • 网站如何做双链路示范学校建设专题网站
  • 网站开发北京影视网站seo描述
  • 高端网站定制建设公司哪家好企业网络推广技巧
  • 建设公司网站的内容建筑设计图片
  • 用ps怎么做网站的效果图互联网营销师报名入口官网
  • 网站的后端怎么开发网站 白名单
  • 济宁中小企业网站建设wordpress爆破工具
  • 零基础网站建设视频商城系统平台有哪些
  • 那个网站做百科好过wordpress删除
  • 优化网站排名怎么制作网站建设数据库模板
  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发