- 博客(49)
- 收藏
- 关注
原创 2-12 补充解析原理补充 WebDataBinder binder 124个基本类型数据转换器
表单提交上来的值都是通过HTTP协议传过来,认为万物都是文本,比如age=18但是实际上Bean上标记了@Data, controller方法里标记了@RestController会自动解析出 18是个整型,原理在于 ModelAttributeMethodProcessor里的public final Object resolveArgument()
2023-01-28 21:52:41
22
原创 ServletAPI 2-10复杂参数, 解析完的参数值都会放到 ModelAndViewContainer里面
ServletAPI 2-10复杂参数, 解析完的参数值都会放到 ModelAndViewContainer里面
2023-01-28 09:30:42
403
原创 SpringBoot 2-9-2 ServletAPI
Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类启动后就被实例化。注意@RestController =@ResponseBody + @Controller。@ResponseBody 表示它会以Json字符串的形式返回给客户端。可以看到请求的parameter是 HttpServletRequest。@GetMapping 说明是个Get请求。放行是ServletRequest。找到对应的Resolver进入。进入,以下表示拿到原生请求并返回。
2023-01-18 11:46:09
392
原创 SpringBoot2-9第二版,再重新总结一遍 注释解析原理 支持27种参数注释,15种返回值 循环目标参数-->找到参数解析器--》用解析器去缓存uriTempl中获取name,根据name获取值
注释解析原理 支持27种参数注释,15种返回值 循环目标参数-->找到参数解析器--》用解析器去缓存uriTempl中获取name,根据name获取值
2023-01-08 09:11:19
36
原创 SpringBoot2-9 Web4 源码分析 1)从DispatcherServlet2)确定适配器到 3)使用适配器找到目标方法 4)27个参数解析器5)15种返回值处理器
1)从DispatcherServlet2)确定适配器到 3)使用适配器找到目标方法 4)27个参数解析器5)15种返回值处理器
2023-01-07 09:26:47
14
1
原创 SpringBoot2-8 Web3 注解 ctrl+F9快速部署 @PathVariable @RequestHandler @MethodAttribute @RequestParam
@PathVariable @RequestHandler @MethodAttribute @RequestParam @MatrixVariable @CookieValue @RequestBodycookie禁用--》url重写 springboot默认禁用矩阵变量jdk8实现接口只需改写要实现的方法ctrl+F12查看类的所有方法
2023-01-02 07:55:51
42
原创 SpringBoot2-7 Web2 请求参数处理 只有Post才能带隐藏_method,只允许额外三种(PUT DELETE PATCH);doDispatch就是每个请求都会调用的方法
1)web五种请求参数处理2)SpringMVC功能都从org.springframework.web.servlet.DispatcherServlet#doDispatch开始3)5个默认handlermapping,每次都在这5个里面循环查找
2023-01-01 08:27:48
41
原创 SpringBoot2-6 Web1-静态资源 默认4个目录,特别是resources 目录, webjars引入和内部资源访问,注意其内部resources目录 HandlerMapping
SpringBoot2-6 Web1-静态资源 默认4个目录,特别是resources 目录, webjars引入和内部资源访问,注意其内部resources目录 HandlerMapping
2022-12-31 13:38:06
120
原创 SpringBoot2-5
复制打包文件到本地打开,看上去无论写不写exclude里面都没有pring-boot-configuration-processor这个或许是默认不打包吧。
2022-12-30 19:34:49
460
1
原创 SpringBoot2-4 查找文档修改配置文件,简化开发神器:Lombok 6个注解;自动重启dev tool ctrl+F9;热部署JRebel(收费);Spring Initializr
查找文档修改配置文件,简化开发神器:Lombok 6个注解;自动重启dev tool ctrl+F9;热部署JRebel(收费);Spring Initializr
2022-12-26 20:40:40
68
原创 Springboot-3 自动配置实例,处理命名不符合springmvc要求的方法,不看帮助文档修改配置方法 @EnableConfigurationProperties 和 @Condit
Springboot-3 自动配置实例,处理命名不符合springmvc要求的方法,不看帮助文档修改配置方法 @EnableConfigurationProperties 和ConditionalOnProperty(prefix = 来判断应该配置什么
2022-12-25 23:17:31
54
原创 SpringBoot-2 读取properties;自动加载127个类原理总结;全部加载,按需配置
读取properties;自动加载127个类原理总结;全部加载,按需配置
2022-12-25 18:16:25
967
1
原创 SpringBoot2-从环境,properties文件,fat jar,包结构,单实例,注解@import 创建对象,@Conditional @ImportResource兼容XML文件
SpringBoot2-从环境,properties文件,fat jar,包结构,单实例,注解@import 创建对象,@Conditional @ImportResource兼容XML文件
2022-12-24 15:09:32
40
原创 SPRING-了解4-AOP1
面向切面编程 oop的延续,对业务进行隔离,降低耦合度,目标是不改变原来的代码在主干中增加新功能比如已经写好登录功能,现在需要加入权限,那么应该额外写权限模块,之后配置即可。
2022-12-19 19:14:39
225
原创 SPRING-了解3-注解
四大注解IOC容器操作Bean注解格式:@注解名称(属性名称=属性值,属性名称=属性值) 放在类,方法,属性都可以目的:简化XML配置。
2022-12-18 10:44:42
252
原创 SPRING-了解2-XML
Spring中有两种bean:一种普通bean,另外一种工厂bin (Factory Bin,注意不是前面说的BeanFactory类)普通Bean:xml中定义什么类型返回的就是什么类型xml中class是Book, 返回的也是Book工厂Bean: 定义和返回可以不一样1)创建一个类,实现一个接口,作为工厂类,规定返回泛型//定义返回对象类型,courses.setcNames("化学");}2)测试@Test。
2022-12-17 17:04:32
345
原创 SPRING-了解1
查找路径比较长,很有趣原始步骤1)进入 spring.io,点击右上角黑色标记边的标记2)进入 git,找到 Binaries下面的 Spring Framework Artifacts3)进一步找到Downlaoding a Distribution,下面有 https://repo.spring.io4)x选择artifactory,spring复制url to file下载最新版 -dist.zip。
2022-12-17 14:21:30
274
原创 测试持久层:Spring Boot + @DataJpaTest+H2 mem+Junit5
坚持使用h2 三种模式之一的内存mem模式,也获得了urlMODE=MYSQL。
2022-12-11 17:24:45
230
原创 Spring initializer项目的Flyway
我看了这个文章 First Steps - Maven - Flyway - Product Documentation 然后运行:mvn flyway:migrate 报错:Spring-boot Maven flyway Unable to connect to the database. Configure the url, user and passwordS
2022-12-04 23:04:47
166
原创 MVM命令在idea
mvm : 无法将“mvm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 解决方法
2022-12-04 10:04:30
56
原创 Flutter-Go运行环境
主要原因是本地的cc1.exe版本不是64位的,在64位环境下无法编译在网上查了很多方法都失败了,最后还是找到了解决方案https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-snapshot/下载下来解压后,放到自己想放的位置,然后配置环境变量,指向bin目录即可。进入目录运行hover run,虽然有一点错误,但过了3分钟,确实也出来了。for win64 EXE文件--------执行失败,因为无法下载成功。
2022-11-19 06:30:56
82
原创 Flutter布局2:Card 按钮
OutlinedButton.icon(onPressed: (){}, icon: const Icon(Icons.message), label: const Text("新闻")),ElevatedButton.icon(onPressed: (){}, icon:const Icon(Icons.send),label:const Text("发送")),child: ElevatedButton(onPressed: (){}, child:const Text("大按钮")),
2022-11-06 12:14:09
385
原创 Flutter-布局
示意如下:主要用于新闻和用户中心示意如下:主要用于商品列表,应用列表GridView.count实现网格布局: 拥有一行配置元素数量参数crossAxisCount: 4,GridView.extend实现网格布局,与上面差别在于参数不同GridView.builder实现动态网格布局。
2022-11-06 08:07:07
60
原创 Flutter-container
需要在build下新建images文件夹,并建立子文件夹 2.X 3.X ,原文件是3倍的就放在3.X。- asset: fonts/iconfont.ttf #字体位置。# - family: Trajan Pro 可以配置多个。1)下载图标:在阿里图片库找到图标加入购物车,下载源代码,解压。宽度自适应,设定无效。在pubspec.yaml加入三行,注意-前有空格。transform:和外部元素间距。Image.asset 本地图片。在以上三个目录同时放一份图片。assets必须定格。
2022-11-03 20:03:32
327
原创 Flutter4-抽离组件,自定义组件
child: Text("你好啊, www.i7i8i9.com",textDirection: TextDirection.ltr,//这个都可以通过构造函数分析。appBar: AppBar(title:const Text("www.i7i8i9.com") ), //title是widget类型,所以后面要加Text。return const Center( //注意const加上意义是只有一份,也可以不加,会有语法检查提示。),), //因为Center加const,这里可以不加。
2022-10-30 21:21:40
133
原创 Flutter-3创建项目
1.打开vscode ,安装dart flutter 插件2.File open Floder打开项目根目录,不溶于andriod studio骑在android目录3.终端运行 flutter run -d all 修改内容之后重新run 输入r即可,输入大R表示热重启按下p键显示网格,以便于布局,网格出现,要等一会o:切换android和ios模式,感觉标题位置不同q或 ctrl+c 退出flutter devices :看当前有多少设备flutter提示工具。
2022-10-30 14:53:46
54
原创 Andriod模拟报错处理-值得为此单独开立一篇
从 system ui isn't responding直到:看到这个画面时已经很感动了总结一下以便未来遇到新的情况可以补充,也参考了很多资料,也自己尝试了一种【电脑环境】:win10 ,很多以前的帖子都是基于win8[检查项1]android sdk SDK Tools,HAXM确实被自动安装了。
2022-10-30 11:32:18
488
原创 Flutter1:基础--安卓手机调试
注意安装完成后,需要打开android studio 安装插件。新建flutter项目,注意选择flutter sdk位置。加入path:D:\src\flutter\bin。在studio安装手机对应的SDK。
2022-10-29 22:40:33
832
原创 Dart-Null safety required 常量构造函数
现在这个也可以if(apiUrl!=null){return “数据返回”;}}}
2022-10-29 16:13:49
22
原创 Dart-自定义库 系统库 第三方库 引入包类名冲突 引入部分库
查找包:找到之后按照安装要求安装。编辑pubspec.ymal。//获取数据失败,以后再改。
2022-10-29 14:54:26
73
原创 Dart-抽象类(用于定义规范) 多态(父类对象可以指向子类实现) 接口(用于定义公用方法) Mixins
没有interface关键字,普通类和抽象类都可以作为接口用implements实现但因为普通类不可以定义抽象方法,所以接口一般用抽象类必须实现里面的所有属性和方法abstract class Db{//当做接口save();delete();
2022-10-29 11:10:02
241
原创 Dart-静态成员,继承
static修饰类中的变量或函数静态方法不能访问非静态成员,非静态方法可以访问静态成员可以通过类来访问非静态的必须实例化以后访问调用静态成员不需要通过this,因为this 相当于当前类的实例访问非静态属性建议通过this.来调用。
2022-10-29 10:02:27
29
原创 Dart-3 Set Map
print(s1);List l1=["北京","上海","深圳","苏州","广州","上海"];print(s2);
2022-10-28 22:50:40
23
原创 Dart-面向对象
封装:封装成抽象的类,提供部分属性和方法继承:面向对象编程OOP主要功能,使用现有类的功能多态:子类类型的指针赋值赋值给父类,调用同一个函数,会有不同结果。
2022-10-28 22:48:00
28
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人