作用域

spring bean 是什么?它的作用域是哪些?它的生命周期是什么?

邮差的信 提交于 2020-03-03 12:02:14
Spring Bean是事物处理组件类和实体类(POJO)对象的总称,Spring Bean被Spring IOC容器初始化,装配和管理。 或者简单的理解就是对象。 作用域: singlton:单例模式,对象在容器中全局唯一,在IOC容器初始化的时候该对象就会被创建 prototype:多例模式,在每一次调用getBean的时候IOC容器才会创建该对象的实体,并且每次创建都是不同的对象 request:在HTTP请求bean范围内会会对每一个来自客户端的网络请求创建一个实例,在请求完成后,bean会失效并被垃圾回收器回收 session:HTTP session请求范围,确保每个session中有一个bean的实例,同一个session共享同一个bean,不同session,bean也不同。在session过期后、bean会自动失效。仅用于 WebApplicationContext 环境 global-session:除在portlet不一样外,其余情况下与session作用域一样。在portlet中,全局共享一个bean。 生命周期: 实例化-属性赋值-初始化-销毁 大致分为4个,只不过其中穿插了其它,导致不清楚。详细请看 请别再问Spring Bean的生命周期了! 来源: https://www.cnblogs.com/ivy-xu/p/12401162.html

10.Python初窥门径(函数进阶)

徘徊边缘 提交于 2020-03-03 09:42:57
Python(函数进阶) 一、函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # *args这里是一个元组 print(f"名门正派都有:{arg}") func("少林","武当","峨眉") # 名门正派都有:("少林","武当","峨眉") --------------------------------- # 定义一个函数时,**所有的关键字参数聚合到一个字典中 def func(**kwargs): # **kwargs这里是一个字典 print(kwargs) func(name="陈",age=25,hobby="跑步") # {name:"陈",age:25,hobby:"跑步"} --------------------------------- # *和**可同时使用 def func(*args,**kwargs): print(args) # ('少林', '武当', '峨眉') print(kwargs) # {'name': '陈', 'age': 25, 'hobby': '跑步'} func("少林","武当","峨眉",name="陈",age=25,hobby="跑步") 动态参数*特殊用法 # 函数内*用法 def func(

C++类——高级(四)《一谈作用域与类》

北战南征 提交于 2020-03-03 01:21:15
1. 作用域与隐藏名字 作用域需用::来访问,或用using指示以省略::来访问。 类也有一个作用域,所以,尽管两个类的成员完全相同,其成员认识有差别的。如: class same { public : default_random_engine same ; void get_number ( ) ; } ; class same_too { public : default_random_engine same ; void get_number ( ) ; } ; 我们看到,两边的成员是完全一样的,但是,他们处在两个不同的作用域中,所以是有差别的。 隐藏 由于是两个作用域,所以互相之间隐藏了其它作用域的名字。 2.局部作用域与静态成员 一般来说,局部作用域一般指函数的作用域,离开作用域之后所有非静态成员都将会执行析构函数。但是,静态成员除外。 当我们需要保存上一次函数的运行数据是,局部静态成员就非常有用了。 如以下代码: class example { public : int count_calls_times ( ) { static int times ; return timrs ++ ; //因为是局部静态成员,所以times并不会被析构 } } ; 局部作用域不可用“::”访问 由于局部作用域的成员会被销毁(静态成员除外),所以我们不能用::来访问。 3

你不知道的JavaScript上卷笔记

社会主义新天地 提交于 2020-03-03 00:25:58
你不知道的JavaScript上卷笔记 前言 You don't know JavaScript 是github上一个系列文章 初看到这一标题的时候,感觉怎么老外也搞标题党,用这种冲突性比较强的题目吸引眼球,以致最初真没去看内容。直到出了中文版《你不知道的JavaScript》,一看评价大家都说好,买来一读,内容果然很好,很多地方,让我这个半路转行JavaScript的人豁然开朗。中文版现在出了上卷,中卷应该很快会推出,下卷就要等久一点了 作用域和闭包 作用域是什么   1.现代JavaScript已经不再是解释执行的,而是编译执行的。但是与传统的编译语言不同,它不是提前编译,编译结果不能进行移植。编译过程中,同样会经过 分词/词法分析 , 解析/语法分析 , 代码生成 三个阶段。   2.以var a = 2;语句为例,对这一程序语句对处理,需要经过 引擎 , 编译器 , 作用域 三者的配合。其中, 引擎 从头到尾负责整个javascript程序的编译和执行过程; 编译器 负责语法分析和代码生成; 作用域 负责收集并维护由所有声明的标识符组成的系列查询,并实施一套规则,确定当前执行的代码对这些标识符的访问权限。   3.对于var a = 2;编译器首先查找作用域中是否已经有该名称的变量,然后引擎中执行编译器生成的代码时,会首先查找作用域。如果找到就执行赋值操作,否则就抛出异常

angularJs controller间怎么通信

☆樱花仙子☆ 提交于 2020-03-02 18:06:19
作用域可以像DOM节点一样,进行事件的传播。主要是有两个方法: broadcasted :从父级作用域广播至子级 scope emitted :从子级作用域往上发射到父级作用域 下面是代码案例 <div class="container" ng-controller="parentCtrl"> <div class="row" ng-controller="childCtrl"> <input type="text" ng-model="cv" ng-change="change(cv)"> </div> <div class="row" ng-controller="childCtrl2"> {{ cv2 }} </div> </div> 'use strict'; angular.module('app', []) .controller('parentCtrl', ['$scope', function ($scope) { $scope.$on('childCtrlChange', function (event, msg) { $scope.$broadcast('childAll', msg); }); }]) .controller('childCtrl', ['$scope', function ($scope) { $scope.change = function

Javascript函数作用域

﹥>﹥吖頭↗ 提交于 2020-03-01 23:20:27
Javascript函数作用域 函数的定义: 函数是计算机编程中非常重要的一个语法结构。那么什么是函数呢?函数指一组可以随时随地运行的代码集合,当他被调用时可重复的去执行这些代码集合。 数学中的函数: 数学中的函数指给定一个数集A,对A施加对应法则f,记作f(A),得到另一数集B,也就是B=f(A).那么这个关系式就叫函数关系式,简称函数。 定义函数: JS中创建函数有三种方式:1.函数声明、2.函数表达式、3.函数对象 定义好一个函数后,函数里的内容是不会执行的。当函数被调用的时候,才会执行函数内的程序。 1. 函数声明 > function foo ( ) { > console . log ( 123 ) ; > console . log ( 456 ) ; > console . log ( 789 ) ; > } > > foo ( ) ; // 调用函数 > foo ( ) ; > foo ( ) ; 2. 函数表达式 var foo = function ( ) { console . log ( 123 ) ; console . log ( 456 ) ; console . log ( 789 ) ; } ; foo ( ) ; 3. 函数对象 var foo = new Function ( ) ; //foo(); 函数声明 与 函数表达式的区别? 1

Angular 中得 scope 作用域梳理

元气小坏坏 提交于 2020-03-01 21:08:21
$scope 的使用贯穿整个 Angular App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了 $scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的 $scope 发生改变时也会立刻重新渲染视图. 有了 $scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $scope 中. $rootScope Angular 应用启动并生成视图时,会将根 ng-app 元素与 $rootScope 进行绑定.$rootScope 是所有 $scope 的最上层对象,可以理解为一个 Angular 应用中得全局作用域对象,所以为它附加太多逻辑或者变量并不是一个好主意,和污染 Javascript 全局作用域是一样的. $scope 的作用 $scope 对象在 Angular 中充当数据模型的作用,也就是一般 MVC 框架中 Model 得角色.但又不完全与通常意义上的数据模型一样,因为 $scope 并不处理和操作数据,它只是建立了视图和 HTML 之间的桥梁,让视图和 Controller 之间可以友好的通讯. 再进一步系统的划分它的作用和功能: 提供了观察者可以监听数据模型的变化 可以将数据模型的变化通知给整个 App 可以进行嵌套,隔离业务功能和数据

函数的作用域

五迷三道 提交于 2020-03-01 16:32:04
什么是作用域?: 存储和访问变量,是任何一种编程语言最基本的功能之一,变量存在哪里?程序需要时如何找到它?这些问题需要一套良好的规则来规范,这套规则,就成为作用域。 那又分为 局部作用域 和 全局作用域 函数的作用域: JS划分作用域也是用{ }来划分的,但是js中有效的限定作用域只有函数的{ }。 有时候我们常常会遇到类似这样的引用错误,那么我们可以往两个方面去考虑:1、看是不是变量名称拼写错误了。                                    2、如果变量每拼写错误,再看其作用域是否错域了。 为此我们来详述以下有关函数作用域的问题: 函数的变量论作用域来分的话,可以分为 局部变量 、 全局变量 两种。 局部变量:见名如意,局部变量就是在函数内部声明的变量,作用域只是这个函数的部分。    <script> funcaiton fun(){ var a=10; //a只可以在这个函数内部被调用 } </script> 全局变量:没有被任何函数包裹,在任何地方都可以使用。 <script> var a = 10; funcation fun(){ var b = a;//这里b为10; } </script> 伪全局变量: function foo(){ a = 10;//声明变量不使用var console.log(a); } foo(); console

eclipse常用快捷键

杀马特。学长 韩版系。学妹 提交于 2020-03-01 15:42:35
一、多行注释快捷键 1.选中你要加注释的区域,用 ctrl+shift+C 或者 ctrl+/ 会加上//注释 2.先把你要注释的东西选中,用 shit+ctrl+/ 会加上/* */注释 3.以上快捷在重复按一下就会去掉加上的注释 4.要修改在eclispe中的命令的快捷键方式我们只需进入windows -> preference -> General -> key设置就行了 二、Eclipse中添加文档注释快捷键 1.例如默认的文档注释: /** * @author XX * */ 2.快捷键为:ALT + SHIFT +J 3.修改文档注释的注释格式内容,修改的方法有两种: A.直接在eclipse给的模板下进行修改 打开eclipse Window-->Preferences-->Java-->Code Style --> Code Templates --> Comments --> types --> Edit 例如: /** * * 项目名称:${project_name} * 类名称:${type_name} * 类描述: * 创建人:${user} * 创建时间:${date} ${time} * @version */ Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Eclipse快捷键大全(转载)

折月煮酒 提交于 2020-03-01 09:37:53
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上面那条来说了) Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性 Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) Shift+Ctrl+Enter 在当前行插入空行(原理同上条) Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 (对于程序超过100的人就有福音了) Ctrl+M 最大化当前的Edit或View (再按则反之) Ctrl+/ 注释当前行,再按则取消注释 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当前类的继承结构 Ctrl+W 关闭当前Editer Ctrl+K 参照选中的Word快速定位到下一个 Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示) Ctrl+/(小键盘) 折叠当前类中的所有代码 Ctrl+×(小键盘) 展开当前类中的所有代码 Ctrl