一、前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean。通过下面的例子,可以看出Cglib方式创建的代理Bean和ProxyFactoryBean创建的代理Bean的区别。 二、基本测试代码 测试实体类,在BPP中创建BppTest ...
分类:
编程语言 时间:
2019-03-03 09:27:36
阅读次数:
159
按照这个顺序去循序渐进理解装饰器:高阶函数->柯里化->装饰器 在python里,函数可以是对象,可以作为普通变量、参数、返回值等等。 所以高阶函数定义: 1.输入一个或多个函数作为参数; 2.输出一个函数。 例如样式: y = g(f(x)) 闭包就是一个高阶函数: python内置的很多函数都是 ...
分类:
编程语言 时间:
2019-03-03 09:26:30
阅读次数:
159
这个异常就是Gradle下载异常,进而下面会提示一行IO异常 我这里的原因就是Gradle对应的4.6-all版本下载不下来(一般情况下确实很难下载下来) 所以在正常AS工程呢,我们选择一下Gradle本地路径就行 但是!but FLutter 工程我打开setting之后竟然看不到让我选择本地版本 ...
分类:
其他好文 时间:
2019-02-26 19:35:35
阅读次数:
212
1. 循环依赖类别 1)构造参数依赖:无解 2)属性依赖:对多实例Bean无解,对单实例Bean采用earlySingletonExposure策略 2. DefaultListableBeanFactory参考 1)创建Bean:createBean --> doCreateBean 2)获取Be ...
分类:
其他好文 时间:
2019-02-24 00:37:51
阅读次数:
214
wrapt是一个功能非常完善的包,用于实现各种你想到或者你没想到的装饰器。使用wrapt实现的装饰器你不需要担心之前inspect中遇到的所有问题,因为它都帮你处理了,甚至inspect.getsource(func)也准确无误。 使用wrapt你只需要定义一个装饰器函数,但是函数签名是固定的,必须 ...
分类:
编程语言 时间:
2019-02-21 17:38:37
阅读次数:
251
def _concurrent(func): @wraps(func) # 加入这个的目的是保持原来方法的属性 def arg_wrapper(self, *args, **kwargs): try: jc = self.available_jc.pop() # ret... ...
分类:
编程语言 时间:
2019-02-18 16:09:13
阅读次数:
198
人们总是说人总会长大,谁都不例外,但回首过去总会有念之不忘的人和事存于你的记忆深处。 我的启蒙老师是我的小学班主任,从一年级到小学毕业都是由他带的。他是一名语文老师,是他使了解了我对今后的路该如何去走学习,人的一生都在学习,从早到晚,从少到老。那时候我开始知道我们需要学习才能一步一步走下去,现在看来 ...
分类:
其他好文 时间:
2019-02-17 00:37:15
阅读次数:
192
使用 Anet 有一段时间了,已经在我的个人网站(如 bookist.cc)投入使用,目前没有发现什么大问题,所以才敢写篇文章向大家介绍。 GitHub 地址:https://github.com/anet-team/anet Anet 是一个 .NET Core 通用框架,特点是简单易用。它的目标 ...
分类:
Web程序 时间:
2019-02-13 13:11:17
阅读次数:
212
__repr__和__str__这两个方法都是用于显示的,__str__是面向用户的,而__repr__面向程序员。 打印操作会首先尝试__str__和str()内置函数(print运行的内部等价形式),它通常应该返回一个友好的显示。 __repr__用于所有其他的环境中:用于交互模式下提示回应以及 ...
分类:
编程语言 时间:
2019-02-10 20:45:50
阅读次数:
243
高阶函数 定义 1. 函数接受的参数是一个函数 2. 函数的返回值为一个函数 3. 满足以上2点中其中一个就是高阶函数 函数嵌套 定义 1. 函数中def定义一个函数 2. 嵌套会存在闭包, 其他情况不会有闭包(闭包闭的是变量) 装饰器 实质 1. 装饰器 == 高阶函数 + 嵌套函数 + 闭包 2 ...
分类:
编程语言 时间:
2019-02-10 20:37:27
阅读次数:
172