Laravel的配置加载其实就是加载config目录下所有文件配置.如何过使用php artisan config:cache则会把加载的配置合并到一个配置文件中,下次请求就不会再去加载config目录. 1.加载流程 LoadEnvironmentVariables .env环境配置加载.如果缓存配置是不会加载.env的 LoadConfiguration 判断是否缓存配置 是,则直接加载配置,不会加载config目录所有文件了 否,则加载config目录所有PHP文件 2.什么时候加载配置?…
Django中的module的加载是通过反射来完成的,借助importlib中的import_module函数来实现的动态加载.import_module的内部通过使用了递归和线程锁,字符串的切割,实现模块的加载. 主要有以下几个步骤: 根据字符串的形式导入模块 去模块中找到相应的类 根据相应的类实例化 执行对象.方法 根据字符串的形式导入模块 假设在有以下的类跟方法: path = "handler.basic.BaseHandler" func_name = "proce…
前提 最近在做一个基础组件项目刚好需要用到JDK中的资源加载,这里说到的资源包括类文件和其他静态资源,刚好需要重新补充一下类加载器和资源加载的相关知识,整理成一篇文章. 理解类的工作原理 这一节主要分析类加载器和双亲委派模型. 什么是类加载器 虚拟机设计团队把类加载阶段中的"通过一个类的全限定名来获取描述此类的二进制字节流"这个动作放到了Java虚拟机外部实现,以便让应用程序自己决定如何去获取所需要的类,而实现这个动作的代码模块称为"类加载器(ClassLoader)&quo…
本文受阿里开源的Nacos启发,应用启动后从Nacos服务加载配置到应用中,想着本地开发的时候加载配置能否从本地存储中加载,这样也能加快开发效率 首先我们来看下SpringCloud项目应用Nacos服务的bootstrap.yaml配置如下 spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yaml discovery: server-addr: 127.0.0.1:8848 applicatio…
本文mybatis-spring-boot探讨在springboot工程中mybatis相关对象的注册与加载. 建议先了解mybatis在spring中的使用和springboot自动装载机制,再看此文章. 传送门:Mybatis源码解读-配置加载和Mapper的生成 问题 @MapperScan和@Mapper能一起用吗? 使用 创建工程不再赘述,参考demo 编写Mapper Mapper的注册有两种方式: 在Mapper添加@Mapper注解 在Application类添加@MapperS…
今天我们来谈谈 Dubbo XML 配置相关内容.关于这部分内容我打算分为以下几个部分进行介绍: Dubbo XML Spring 自定义 XML 标签解析 Dubbo 自定义 XML 标签解析 DubboBeanDefinitionParser.parse() End Dubbo XML 在本小节开始前我们先来看下 Dubbo XML 配置文件示例: dubbo-demo-provider.xml <?xml version="1.0" encoding="UTF-8…
前言 在实际开发项目中,日志永远是一个绕不开的话题.本系列文章试图以slf4j和log4j2日志体系为例,从源码角度分析日志工作原理. 学习日志框架,首先要熟悉各类日志框架,这里推荐两篇文章,就不再赘述了. https://www.cnblogs.com/rjzheng/p/10042911.html https://www.cnblogs.com/chanshuyi/p/something_about_java_log_framework.html 对于log4j2,配置文件有几类:prope…
理解Laravel中的pipeline suoga 关注  0.1 2015.09.08 00:00* 字数 1533 阅读 7151评论 8喜欢 24 pipeline在laravel的启动过程中出现次数很多,要了解laravel的启动过程和生命周期,理解pipeline就是其中的一个关键点.网上对pipeline的讲解很少,所以我自己写一写吧.首先还是来看看调用栈,也就是从一个请求开始到返回响应,laravel都干了些什么.在路由中配置如下 Route::get('/', function(…
理解了上述Environment的基本原理后,如何从远程服务器上加载配置到Spring的Environment中. NacosPropertySourceLocator 顺着前面的分析思路,我们很自然的去找PropertySourceLocator的实现类,发现除了我们自定义的GpJsonPropertySourceLocator以外,还有另外一个实现类NacosPropertySourceLocator. 于是,直接来看NacosPropertySourceLocator中的locate方法,…
最近项目在用到flume,因此翻了下flume的代码, 启动脚本: nohup bin/flume-ng agent -n tsdbflume -c conf -f conf/配置文件.conf -Dflume.root.logger=DEBUG,console & 翻下flume-ng的脚本, FLUME_AGENT_CLASS="org.apache.flume.node.Application" 从Application进入: 写了下flume-agent启动的时序图:…