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

北京网站建设公司官网项目管理系统开发

北京网站建设公司官网,项目管理系统开发,东莞网络营销销售,科技公司经营范围包括哪些Spring 原理 1. Bean的作⽤域1.1 概念1.2 Bean的作⽤域 2. Bean的⽣命周期 1. Bean的作⽤域 1.1 概念 在Spring IoCDI阶段, 我们学习了Spring是如何帮助我们管理对象的. 通过 Controller , Service , Repository , Component , Configuration ,Bean 来声明Bean对象。通… Spring 原理 1. Bean的作⽤域1.1 概念1.2 Bean的作⽤域 2. Bean的⽣命周期 1. Bean的作⽤域 1.1 概念 在Spring IoCDI阶段, 我们学习了Spring是如何帮助我们管理对象的. 通过 Controller , Service , Repository , Component , Configuration ,Bean 来声明Bean对象。通过 ApplicationContext 或者 BeanFactory 来获取对象通过 Autowired , Setter ⽅法或者构造⽅法等来为应⽤程序注⼊所依赖的Bean对象 我们来简单回顾⼀下 通过 Bean 声明bean , 把bean存在Spring容器中 public class Dog {private String name;public String getName() {return name;}public void setName(String name) {this.name name;} }Configuration public class BeanConfig {Beanpublic Dog dog() {Dog dog new Dog();dog.setName(旺财);return dog;} }从Spring容器中获取Bean 也可以通过在代码中直接注⼊ApplicationContext的⽅式来获取Spring容器 修改代码, 从Spring容器中多次获取Bean 观察运⾏结果: 发现输出的bean对象地址值是⼀样的, 说明每次从Spring容器中取出来的对象都是同⼀个. 这也是单例模式 单例模式: 确保⼀个类只有⼀个实例多次创建也不会创建出多个实例 默认情况下, Spring容器中的bean都是单例的, 这种⾏为模式, 我们就称之为Bean的作⽤域. Bean 的作⽤域是指 Bean 在 Spring 框架中的某种⾏为模式 ⽐如单例作⽤域: 表⽰ Bean 在整个 Spring 中只有⼀份, 它是全局共享的. 那么当其他⼈修改了这个值之后, 那么另⼀个⼈读取到的就是被修改的值. 修改上述代码, 给UserController添加属性name\ 修改测试代码 观察运⾏结果 dog1 和 dog2 为同⼀个对象, dog2 拿到了 dog1 设置的值. 这就是Bean的不同作⽤域了 1.2 Bean的作⽤域 在Spring中⽀持6种作⽤域后4种在Spring MVC环境才⽣效 singleton单例作⽤域prototype原型作⽤域多例作⽤域request请求作⽤域session会话作⽤域Application: 全局作⽤域websocketHTTP WebSocket 作⽤域 参考⽂档: https://docs.spring.io/spring-framework/reference/core/beans/factory-scopes.html 我们来简单看下代码实现 定义⼏个不同作⽤域的Bean Configuration public class BeanConfig {Beanpublic Dog dog() {Dog dog new Dog();dog.setName(旺财);return dog;}BeanScope(ConfigurableBeanFactory.SCOPE_SINGLETON)public Dog singleDog() {Dog dog new Dog();return dog;}BeanScope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)public Dog prototypeDog() {Dog dog new Dog();return dog;}BeanRequestScopepublic Dog requestDog() {Dog dog new Dog();return dog;}BeanSessionScopepublic Dog sessionDog() {Dog dog new Dog();return dog;}BeanApplicationScopepublic Dog applicationDog() {Dog dog new Dog();return dog;}}proxyMode⽤来为spring bean设置代理. proxyMode ScopedProxyMode.TARGET_CLASS表⽰这个Bean基于CGLIB实现动态代理. Request, session和application作⽤域的Bean 需要设置proxyMode . 观察Bean的作⽤域 单例作⽤域: http://127.0.0.1:8080/single 多次访问, 得到的都是同⼀个对象, 并且 Autowired 和 applicationContext.getBean()也是同⼀个对象 多例作⽤域: http://127.0.0.1:8080/prototype 观察ContextDog, 每次获取的对象都不⼀样(注⼊的对象在Spring容器启动时, 就已经注⼊了, 所以多次请求也不会发⽣变化) 请求作⽤域: http://127.0.0.1:8080/request 在⼀次请求中, Autowired 和 applicationContext.getBean() 也是同⼀个对象. 但是每次请求, 都会重新创建对象 会话作⽤域: http://127.0.0.1:8080/session 在⼀个session中, 多次请求, 获取到的对象都是同⼀个. 换⼀个浏览器访问, 发现会重新创建对象.(另⼀个Session) Application作⽤域: http://127.0.0.1:8080/application\ 在⼀个应⽤中, 多次访问都是同⼀个对象 Application scope就是对于整个web容器来说, bean的作⽤域是ServletContext级别的. 这个和singleton有点类似区别在于: Application scope是ServletContext的单例, singleton是⼀个ApplicationContext的单例. 在⼀个web容器中ApplicationContext可以有多个. (了解即可) 2. Bean的⽣命周期 ⽣命周期指的是⼀个对象从诞⽣到销毁的整个⽣命过程, 我们把这个过程就叫做⼀个对象的⽣命周期. Bean 的⽣命周期分为以下5个部分: 实例化和属性赋值对应构造⽅法和setter⽅法的注⼊. 初始化和销毁是⽤⼾能⾃定义扩展的两个阶段,可以在实例化之后, 类加载完成之前进⾏⾃定义事件处理.
http://www.dnsts.com.cn/news/230474.html

相关文章:

  • 福州建网站 做网页建筑网片排焊机
  • 财经那个网站做的好效果好企业营销型网站建设
  • 移动网站建设多少钱免费网站在线观看
  • 深圳招聘信息在哪个网站wordpress会员修改
  • 廉洁沈阳网站wordpress时间云储存
  • 淘宝里网站建设公司可以吗沈阳高端网站设计
  • 网站开发创业计划书财务分析百度智能导航地图
  • 无锡网站怎么推广效果好电子商务有哪些工作岗位
  • 水碓子网站建设济南网站设计
  • 如何创建个人的网站大屯街道网站建设
  • 金坛城乡建设管理网站网站建设app开发销售好做吗
  • 展示型的网站用windows网站模板
  • 高端营销型网站建设不干胶印刷网站建设
  • 自己可以进行网站建设吗百度开户代理
  • 许昌网站建设汉狮怎么样各国网站域名
  • wordpress 微博秀河北seo网站设计
  • 网站开发后台做些什么网站备案授权书
  • 如何解决网站兼容四站合一网站建设
  • o2o系统网站建设温州网站开发公司
  • 怎么做网站投放adsense新手自己做网站
  • 做网站的外部链接关系分析的工具运城市做网站价格
  • 四站合一网站制作织梦医疗网站
  • 做k12网站做暧暧暧昧网站
  • 延吉市住房城乡建设局官方网站网站建设包括备案吗
  • 河南工程招标网站企查宝企业查询
  • 免费logo网站泰安专业网站建设
  • 平面设计软件网站google seo怎么做
  • 如何在工商局网站做身份确认网站没备案做淘宝客
  • centos7是怎么做网站的公众号模板制作精美
  • 山东省建设厅网站 - 百度太原百度推广开户