一.控制反转(IoC)&依赖注入(DI) 1.控制反转: 所谓的控制反转就是应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器负责的. 这样控制权就由应用转移到了外部容器, 控制权的转移就是所谓的反转. 2.依赖注入: 所谓的依赖注入就是在运行期, 由外部容器动态地将依赖对象注入 ...
分类:
编程语言 时间:
2017-02-27 01:18:05
阅读次数:
180
装饰器在后面(异步io)威力强大 作用:在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。 本质上,decorator就是一个返回函数的高阶函数(传入将要装饰函数,返回函数体函数): def 函数名(参数是函数): 函数体 return 返回值是函数体函数 example: ...
分类:
编程语言 时间:
2017-02-25 12:24:57
阅读次数:
139
静态代理 第一种实现(基于接口): 1》接口 2》目标类,至少实现一个接口 3》代理类(与目标类实现相同接口,从而保证功能一致) 3》测试 第二种实现(基于目标类): 1>目标类 2>代理类(通过继承目标类,保证功能一致) 3>测试 动态代理 动态代理的代理类是在程序运行期间动态生成的,也有两种实现 ...
分类:
编程语言 时间:
2017-02-19 16:45:37
阅读次数:
228
设计模式中,主要有以下一些关系: 实现,通常是继承自基类; 泛化,是一种实现,在代码中表现为继承自非基类。 组合, 是一种强依赖关系,比如汽车是由一些零件组合而来的。 聚合关系,是一种弱依赖,员工组成部门,部门没有了,员工还在。 关联关系,是人为赋予的关系。 依赖, 是一个对象,在运行期间,会用到另 ...
分类:
其他好文 时间:
2017-02-16 16:03:59
阅读次数:
207
静态变量 类型说明符是static。 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局 ...
分类:
其他好文 时间:
2017-02-14 11:33:26
阅读次数:
133
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变 ...
分类:
编程语言 时间:
2017-02-13 08:37:35
阅读次数:
220
脚本语言的3大特征: 1、灵活:脚本语言一般是动态类型,可以不声明变量类型直接使用,也可以在运行期改变类型;2、便捷:脚本语言是解释性语言,在运行期变更非常方便,而不用重启服务3、简单:脚本语言语法比较简单,易学 另外:java6以上默认支持JavaScript 例子: 情景1: function ...
分类:
编程语言 时间:
2017-02-08 14:56:34
阅读次数:
176
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性Java本身是一种静态语言 , 不能够在运行期改变程序结构和变量类型但是反射机制是一种十分重要的动态特性 实现示例首先定义一个类 获取该类中的属性和值 基于这种反射机制 ...
分类:
编程语言 时间:
2017-02-03 18:32:49
阅读次数:
228
关于Spring Data Spring社区的一个顶级工程,主要用于简化数据(关系型&非关系型)访问,如果我们使用Spring Data来开发程序的话,那么可以省去很多低级别的数据访问操作,如编写数据查询语句、DAO类等,我们仅需要编写一些抽象接口并定义相关操作即可,Spring会在运行期间的时候创 ...
分类:
数据库 时间:
2017-01-29 16:14:06
阅读次数:
377
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后 ...
分类:
编程语言 时间:
2017-01-27 00:14:48
阅读次数:
281