前言 此方法为使用uniapp开发前端资源,然后继承进安卓原生项目,达到调用uniapp调用jar的效果。 基于Android Studio进行开发。 本人不懂安卓以及gradle,只是基于搜索引擎以及官方文档得出以下步骤,如果错误或改进之处,望告知。以下步骤亲测可用。 项目搭建 此处可以参考官方文档,说的很详细了 初始项目是通过对官方demo进行裁剪获得(个人尝试过新建项目,未遂) 下载官方demo 导入UniPlugin-Hello-AS项目 删除官方demo模块 官方模块总共有3个(uniplugin_com…

2022年6月16日 0条评论 170点热度 2人点赞 王谷雨 阅读全文

效果 ProtobufVarint32LengthFieldPrepender编码器用于在数据最前面添加Varint32,表示数据长度 ProtobufVarint32FrameDecoder是相对应的解码器 Varint32 讲编码器之前,先来讲讲什么是VarInt32(vary int 32),即:可变长的int 在java里,int的长度固定为 4 byte,即 32 bits,最高位为符号位。 而Varint32则不固定长度,最小 1 byte,最大 5 byte,每个byte的最高位如果为1表示下一个by…

2022年6月16日 0条评论 201点热度 0人点赞 王谷雨 阅读全文

工作机制中分三部来分析springmvc的源代码 ApplicationContext初始化时建立所有url和controller类的对应关系(用Map保存) 根据请求url找到对应的controller,并从controller中找到处理请求的方法 request参数绑定到方法的形参,执行方法处理请求,并返回结果视图 ApplicationContext初始化时建立所有url和controller类的对应关系(用Map保存) Sptingboot中的调用链 RequestMappingHandlerMapping…

2022年6月16日 0条评论 163点热度 0人点赞 王谷雨 阅读全文

返回值解析器 用于对controller的返回值进行二次处理 结构 // 返回值解析器 public interface HandlerMethodReturnValueHandler { // 判断 HandlerMethodReturnValueHandler 是否支持 MethodParameter boolean supportsReturnType(MethodParameter returnType); // 处理给定的返回值 void handleReturnValue(@Nullable Objec…

2022年6月16日 0条评论 159点热度 0人点赞 王谷雨 阅读全文

下图是springmvc的执行流程 图片来源:https://www.jianshu.com/p/8a20c547e245 DispatcherServlet根据url定位到Controller和方法,依赖的是HandlerMapping接口的各个实现类,其中,RequestMappingHandlerMapping是专门用来处理注解方式的Controller的 下面,我们分RequestMappingHandlerMapping的加载以及RequestMappingHandlerMapping如何根据url定位C…

2022年6月16日 0条评论 140点热度 0人点赞 王谷雨 阅读全文

在springmvc中,如何根据url找到controller以及对应方法,依赖的是HandlerMapping接口的getHandler方法 在spring容器中默认注册的HandlerMapping有以下五种: RequestMappingHandlerMapping BeanNameUrlHandlerMapping SimpleUrlHandlerMapping RouterFunctionMapping WelcomePageHandlerMapping 本文主要探索spring和springboot启动…

2022年6月16日 0条评论 182点热度 0人点赞 王谷雨 阅读全文

本文mybatis-spring-boot探讨在springboot工程中mybatis相关对象的注册与加载。 建议先了解mybatis在spring中的使用和springboot自动装载机制,再看此文章。 传送门:Mybatis源码解读-配置加载和Mapper的生成 问题 @MapperScan和@Mapper能一起用吗? 使用 创建工程不再赘述,参考demo 编写Mapper Mapper的注册有两种方式: 在Mapper添加@Mapper注解 在Application类添加@MapperScan注解确定扫描包…

2022年6月16日 0条评论 150点热度 0人点赞 王谷雨 阅读全文

插件允许对Mybatis的四大对象(Executor、ParameterHandler、ResultSetHandler、StatementHandler)进行拦截 问题 Mybatis插件的注册顺序与调用顺序的关系? 使用 在讲源码之前,先看看如何自定义插件。 mybatis-demo,官方文档 创建插件类 自定义插件类需要实现Interceptor // 注解配置需要拦截的类以及方法 @Intercepts({ @Signature(type = StatementHandler.class, method =…

2022年6月16日 0条评论 144点热度 0人点赞 王谷雨 阅读全文

问题 Mybatis四大对象的创建顺序? Mybatis插件的执行顺序? 工程创建 环境:Mybatis(3.5.9) mybatis-demo,参考官方文档 简单示例 这里只放出main方法的示例,其余类请看demo工程。 public static void main(String[] args) throws Exception { // 配置文件路径 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.get…

2022年6月16日 0条评论 151点热度 0人点赞 王谷雨 阅读全文

读写Channel(READ)的创建和注册 在NioEventLoop#run中提到,当有IO事件时,会调用processSelectedKeys方法来处理。 当客户端连接服务端,会触发服务端的ACCEPT事件,创建负责READ事件的channel并注册到workerGroup中 跟踪processSelectedKeys的调用 NioEventLoop#processSelectedKeys() --> NioEventLoop#processSelectedKeysOptimized() --> N…

2022年6月16日 0条评论 156点热度 0人点赞 王谷雨 阅读全文