- 博客(45)
- 收藏
- 关注
原创 JAVA笔记 | 策略模式+枚举Enum简单实现策略模式(可直接套用)
本篇为更为简单的策略模式应用,使用枚举来进行策略分配。上一篇(链接如下)更像是策略+工厂模式来分配策略。controller调用测试。
2024-11-25 16:17:39
645
原创 开发笔记 | 快速上手基于Dify等第三方大模型平台接口实现AI智能聊天
前置:1.部署Dify,见官方教程及介绍,本文主要讲基于部署完之后的java实现的调用它的接口实现AI智能聊天,其他AI功能后续有用到再补充,没有就看缘分2.什么是Dify?可以简单理解为集成了各类AI大模型的一个中转平台,你的服务请求它的接口,再通过在Dify上配置好的应用尽情请求获取到回复内容3.用到了Dify,但其他相关的提供大模型平台的用法可能都差不多,可做参考4.用到springboot/java。
2024-11-06 15:09:00
6101
14
原创 JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
先简单记录下简单使用跟测试,后续再补充具体,最近有用到,简单来说就是后端(服务端)编写个发射器,实现一次请求,一直向前端客户端发射数据,直到发射器执行完毕,模拟ai一句一句回复的效果。
2024-11-05 11:02:42
766
原创 JAVA笔记 | EasyExcel创建带有简单下拉框的导入模板
需要一个导出模板。一个列需要填写固定的值,或者方便用户填写。自己需求,几个固定的字段对应固定的id,所以导出时,用户填写固定字段中文,导入时,通过名字匹配到id,插入数据库。然后网上找了挺多个的,但是要么很复杂,要么就是没说明白,最后找了这个最简单的实现。
2024-10-17 09:33:39
393
原创 【Python快速学习笔记02】基础语法(基本数据类型数字/字符串/列表/元组/集合)
单引号'hello',双引号"abc",三引号"""abc"""均表示字符串,开始结束引号类型需一致,三引号常用于文档字符串,可。单行注释-》#这是一个注释,多行注释-》三个单引号'''这是一个多行注释''',"""这是一个多行注释"""a.下划线开头的标识符如_tes表示不能直接访问的类属性,通过类提供的接口进行访问。用缩进代替方法体{},表示同一模块/方法中的代码,python严格控制,input()用户输入,\n表示换行,输入文字问enter表示输入完毕。and,or,for,from,del等。
2024-09-29 10:42:56
509
原创 【Python快速学习笔记01】下载解释器/环境变量配置/PyCharm下载/第一个代码
添加至我的电脑-》属性-》高级系统设置-》环境变量-》系统变量-》找到Path-》编辑环境变量-》新增确定。安装完,打开cmd,输入python -V,出现版本则安装成功。下载完直接安装,如图这一步勾选,其他均默认下一步至安装完成。官网下载,但是下载太慢了,所以直接百度搜了下载个差不多的。复制安装目录,如图所以我的路径是D:\python。cmd中输入python后可输入代码如图。2.右击项目名,新建python文件。3.写入代码,点击运行。
2024-09-27 16:32:35
456
原创 开发笔记 | JAVA过滤器Filter实现全局接口入参去除前后空格
原因是同时添加了@Component与@WebFilter导致拦截不起作用,就默认所有接口都进过滤器。解决方法去掉@Component保留@WebFilter,在启动类添加@ServletComponentScan即可解决。如果保留@Component去除@WebFilter,则需要单独建一个配置类配置拦截规则。
2023-07-01 15:04:20
2362
3
原创 开发笔记 | 认证授权+Spring Security+OAuth2快速学习笔记
认证授权+Spring Security+OAuth2学习笔记
2022-07-18 16:43:13
2587
1
原创 Git笔记 | 将错误的代码Push至远程仓库/Commit至本地仓库的回退处理
将错误的代码Push至远程仓库/Commit至本地仓库的回退处理
2022-06-21 11:39:03
2061
原创 开发笔记 | Nginx简单快速入门笔记
Nginx介绍什么是NginxNginx是一个轻量级的高性能web服务器。特点:占用内存小,并发强,启动快速,支持7x24小时不间断运行Nginx常用功能负载均衡,反向代理,动静分离Nginx使用配置文件nginx.conf配置文件分三大模块:全局变量配置模块,events性能配置模块,http请求处理模块配置文件内容简化#user nobody;worker_processes 1;events { worker_connections 1
2022-06-06 15:31:06
386
原创 JAVA笔记 | 一些JAVA开发小知识点(持续更新)
1.StringBuffer跟StringBuild谁更安全2.BeanUtils.copyProperties总是搞不清复制的前后对象3.char与varchar的区别4.huttool中Assert.isFase与isTrue容易搞混
2022-05-31 11:38:10
149
原创 JAVA笔记 | HttpServletRequest/HttpServletResponse的简单理解
理解当客户端通过http向服务端发起请求,每一次请求均会创建请求对象request存放客户端请求的信息,响应对象response存放响应的信息。HttpServletRequest获取客户端所有的请求信息包含一些获取请求信息的方法,如getRequestURL() 获取请求的完整URLgetHeader(string var)获取请求头getParameter(String var)根据var获取请求参数HttpServletResponse输出文字至浏览器@R
2022-05-31 11:36:30
568
原创 JAVA笔记 | IO流的一些简单使用
IO流用于网络(设备间)传输图片,视频等,分字符流,字节流字节流:传输二进制字节,通常用于传输图片,视频,文件通常以InputStream/OutputStream结尾:FileInputStream/BufferedInputStream/FileOutputStream/BufferedOutputStream等字符流:一个字符约占n个字节(不同编码情况下不同),用于读取文本文字通常以Reader/Writer结尾:InputStreamReader/OutputStr.
2022-05-31 11:34:45
1660
原创 JAVA笔记 | 获取今日,本周,本月开始结束时间(年月日 时分秒)+SQL中的时间条件查询
通常当作sql的查询时间使用 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); //获取当天时间 年月日 时分秒 calendar.add(Cale.
2022-05-24 10:09:24
1040
原创 SpringBoot笔记 | EasyExcel导入导出及基于模板导出
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.3.0</version> <exclusions> <e...
2022-05-11 15:52:35
4248
原创 SQL笔记 | PostgreSQL存储过程的快速入门
基础语法编写存储过程简单例子:输入a,得到一个等于a的新值CREATE OR REPLACE FUNCTION get(a int4)RETURNS int4 AS $BODY$declare b integer := 0;begin b = a; return b;end$BODY$ LANGUAGE plpgsql;ctrl+s保存存储过程,postgre会自动格式化为CREATE OR REPLACE FUNCTION "public"."get"("a"
2022-05-11 14:39:26
2402
原创 SQL笔记 | 分区函数PARTITION BY、RANK()、DENSE_RANK()的使用
目录数据RANK()求排名求两个班所有人的排名nulls lastrow_number()求排名dense_rank()求排名PARTITION BY分区函数求两个班各自排名PARTITION BY 与 GROUP BY区别数据各个班级数据表id name class goal 1 小明 一班 100 2 小东 一班 90 3 小红 二班 95 4 小西 二班.
2022-05-09 11:42:16
3150
原创 JAVA笔记 | BigDecimal运算|格式化+NumberFormat货币格式等用法
BigDecimal a = new BigDecimal("50");BigDecimal b = new BigDecimal("1.1111");BigDecimal c =a.multiply(b).setScale(2,BigDecimal.ROUND_HALF_UP).stripTrailingZeros();System.out.println(c);BigDecimal c =a.multiply(b).setScale(2,BigDecimal.ROUND_HALF_UP.
2022-05-05 19:08:00
2813
原创 开发笔记 | Springboot整合多平台支付(微信/支付宝)
微信支付小程序支付官方文档微信支付-开发者文档https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_1.shtml场景:通过小程序调起支付-》支付完成-》微信支付成功通知业务流程:用户创建商户订单-》结合商户订单号,价格等调起微信支付-》完成支付更新商户订单支付1.状态1.请求参数实体WxPayUnifiedOrderRequest重要参数说明out_trade_no 商户订单号 自己系统生成的订单号,6
2022-04-18 17:59:10
8079
3
原创 JAVA笔记 | HttpURLConnection与HttpClient
HttpURLConnectionget请求public class HttpTest { public static void main(String[] args) { HttpURLConnection connection = null; try { //1.创建连接 URL url = new URL("XXXX"); connection = (HttpURLConnecti
2022-03-21 18:35:02
659
原创 JAVA笔记 | Class类与反射实现对象与Map互转工具类
Class类简介程序运行时,系统队所有对象进行标识,通过Class类记录每个对象信息。获取Class对象方法1Object obj = new Object();Class clazz = obj.getClass();方法2Class clazz= Class.forName("Object")基本数据类型获取ClassClass clazz = int.class;//获取对象...
2022-03-21 14:36:27
1319
原创 开发笔记 | redis学习笔记
redis用来干嘛,为啥要整合使用导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2022-03-17 10:50:33
1319
原创 JAVA笔记 | 小程序外部调用/生成小程序二维码
目录auth.getAccessToken获取接口调用凭证官方文档官方描述实际运用wxacode.get生成小程序二维码官方文档wxacode.get | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.get.html官方描述请求地址实际运用urlscheme.generate生成小程序scheme,用于外
2022-03-16 16:49:17
5670
原创 JAVA笔记 | 集合类及JAVA8运用的例子笔记
1.现根据集合对象中的某个属性排序,再根据第二个属性排序数据源List<TestVO> tests = Arrays.asList(new TestVO("A","1"),new TestVO("A","4"),new TestVO("A","6"), new TestVO("C","1"), new TestVO("A","2"),new TestVO("B","2"),new TestVO("B","1"));List<TestVO> tests2 = tes
2022-03-15 16:06:18
645
原创 JAVA笔记 | JAVA8简单又详细的快速入门笔记
public interface Demo { void test(String a);}一个功能接口作为参数进行传递的简化(原始->lambda)public class TestMethod { public static void main(String[] args) { //原始:一个功能接口的实现 Demo demo = new Demo() { @Override public .
2022-01-12 16:31:43
1555
原创 JAVA笔记 | IDEA中调用.properties配置文件
1.Maven项目 -> resource目录右击 -> Resource Bundlechua ->创建name.properties文件2.输入内容name=XIAOLIANG3.代码中引用(注意此处文件名前需要加上/ 表示根目录,不然获取不到,is为null)public class Test { public static void main(String[] args) throws IOException { InputStream
2021-12-31 11:47:41
853
原创 一个没什么意义的个人部署笔记(Dockerfile+GitLab+CICD+Portainer/Kubord)
背景简单记录下服务开发完的部署流程笔记,本文在于流程,前置条件为,已经配置好gitlab,CI/CD等需要的相关资源。流程1.服务中配置dockerfile文件FROM 基于某个镜像COPY target/*.jar demo-0.0.1.jar(jar包的位置)EXPOSE 8000(开放的端口)ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n","-jar"
2021-12-28 11:25:38
1206
原创 JAVA笔记 | 使用MyBatis-Plus条件构造器中select方法的坑
背景单表查询中,由于字段较多,且有一些大字段(富文本啥的)导致查询接口速度会有影响,所以采用select方法指定查询的字段,但是当符合条件时,此时该字段为null,则此时依旧会查询一条记录,集合size=1,但是会提示“All elements are null”,此时又因为跳过了集合的非空判断,导致一些取值操作会报空指针异常。例子LambdaQueryWrapper<User> query = new Llist = this.list()...
2021-12-21 17:13:43
1429
原创 JAVA笔记 | 手动对查询结果List进行分页
背景之前都是通过mybatis-plus结合单服务的数据查询直接进行分页,后来设计到一个需求是去不同的服务拿到同结构的数据再进行整合处理,所以需要对查询后的List结果进行分类,所以本篇就是记录一个手动进行分页的笔记。原理查询LIst的size作为总数记录total,分页入参current表示当前查询页,入参size表示一页需要显示多少,通过这几个参数的关系进行计算得出需要对集合进行截取的参数,最后取出子集就好了。实现1.新建分页类,用于存储并初始化分页信息及最终结果的返回@Dat
2021-12-17 10:08:40
4947
原创 spring笔记(2)|三种工厂模式
PART1 Spring中常用的设计模式工厂,装饰者,代理,委派,策略,适配器,模板,观察者模式。设计模式非独立使用,实际运用中通常为多个设计模式混合PART2 简单工厂模式由一个工厂对象决定创建哪一种类的实例,简单工厂模式适用于工厂类负责创建对象较少的场景,传入工厂类的参数,由工厂类来创建对象。实例:开放课程...
2021-11-03 15:18:15
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人