- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 springboot中BeanDefinitions注册流程源码解析
Springboot应用启动过程中,会进行beanDefinitions注册,其调用时间点如下:可以看出在PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors函数进行BeanDefinitions的注册。
2024-09-22 20:50:28 416
原创 ApplicationContextInitializer解析
此类同时实现了ApplicationListener,在intialize方法中将自身注册到上下文中。检查Springboot启动程序上的@ComponentScan的包扫描范围是否合法,通过增加BeanFactoryPostProcessor。
2024-03-28 10:59:57 275 1
原创 Spring框架介绍
Spring 框架是一个分层的、面向切面的 Java 应用程序的一站式轻量级解决方案,它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。
2023-02-28 14:19:20 713
原创 Mybatis源码解析
Mybatis是一个基于ORM的半自动化持久层框架,本文着重介绍Mybatis的架构(接口层、数据处理层及框架支撑层)、核心处理流程(配置加载、接收请求及处理请求)及主体代码框架(涉及SqlSession、StatementHandler、ParemeterHandler、ResultSetHandler等)。
2022-11-27 22:15:01 661
原创 PageHelper分页插件的一个坑
在一次重新部署服务后,莫名很多接口会随机的抛出异常,提示:ClassCastException: xxx.xxx.xxx.XXXXXXEntity cannot be cast to yyy.yyy.yyy.YYYYYEntity。XXXXXEntity是固定的,但是YYYYYEntity是随机的,任意一个实体类型。
2022-11-10 14:09:48 525
原创 iptables详解
iptables是命令行工具,通过iptables将用户的安全设置添加到安全框架即防火墙netfilter中。netfilter位于内核空间,是Linux操作系统内部的一个数据包处理模块。netfilter/iptables(简称iptables),是Linux下的包过滤防火墙,可替代商业防火墙,提供封包过滤、封包重定向和网络地址转换(NAT)等功能。
2022-10-12 10:17:06 1827
原创 Python线程及线程间通讯
Python代码的执行由Python虚拟机控制,任意时刻仅有一个线程在执行。对虚拟机的访问由全局解释器(GIL)来控制。在多线程环境中,虚拟机按以下方式运行:1、设置GIL2、切换到一个线程去运行3、运行 a、指定数量的字节码的指令,或者 b、线程主动让出控制4、把线程设置为睡眠状态5、解锁GIL6、再次重复以上步骤thread和threading模块用于创...
2018-12-16 20:32:26 278
原创 巧用list.extend(seq)方法
list.extend(seq)方法extend的参数seq,可以为可迭代对象。通过迭代对象,extend可以做很多有趣的事情,比如将文件内容加入列表,使得代码更优雅:运行结果:源码...
2018-12-16 10:56:21 348
原创 SpiffWorkflow定制工作流
基本类SpiffWorkflow有四个基本类:1、SpiffWorkflow.specs.WorkflowSpec和SpiffWorkflow.specs.TaskSpec用于定义工作流及工作流中的任务。2、SpiffWorkflow.Workflow和SpiffWorkflow.Task用于跟踪、控制执行中的工作流和任务。SpiffWorkflow.Workflow的实例属性task_sp...
2018-12-11 22:37:47 6965 2
原创 django中使用celery及gevent
Celery在Django中的使用1、创建一个django项目(网站):django-admin startproject mysite2、创建后mysite的目录结构如下:mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py...
2018-12-09 23:18:18 2793 1
原创 Django QuerySets Api-----不返回QuerySets的
1、get(**kwargs)a、不存在或者返回多个,都会报错b、querysets仅包含一条记录,可以不加参数直接调用get()2、create(**kwargs)a、Models.objects.create(**kwargs)等价于Models(**kwargs).save()b、如果primary key为手工设置,则有可能已经存在,此时会报IntegrityError3、ge...
2018-12-09 23:10:41 239
原创 django QuerySet Api介绍-----返回QuerySets的
1、filter(**kwargs)多个参数间是AND关系2、exclude(**kwargs)多个参数间是AND关系,查找NOT不匹配的记录3、annotate(*args, **kwargs)对QuerySets中每条记录增加批注,批注参数列表中每个表达式计算的结果。将每个结果对应批注到每条记录上。args使用缺省别名,kwargs使用关键字作为别名4、order_by(*fiel...
2018-12-09 23:05:44 553
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人