ollama 安装方式
简绍Ollama 是一个开源的本地化工具,专为在个人计算机上高效运行大型语言模型(LLM)而设计。它简化了复杂模型的部署流程,支持用户无需依赖云端服务即可在本地体验如 Llama 2、Mistral、Gemma 等先进模型,适合开发测试、隐私敏感场景及学习研究。
核心功能
本地化运行
直接在本地设备(支持 macOS/Linux,Windows 可通过 WSL 或社区方案)运行模型,避免数据外传,增强隐私保护。
多模型支持
提供预置模型库,一键下载运行,例如:llama2、mistral、vicuna 等,并支持自定义模型导入。
轻量级与跨平台
依赖少,安装便捷,通过命令行快速交互,同时提供 REST API 便于集成到其他应用。
资源优化
针对消费级硬件优化,合理利用 CPU/GPU 资源,降低本地运行大模型的门槛。
优点与局限优点✅ 数据隐私性强✅ 简化本地部署,适合快速实验✅ 活跃社区支持,持续更新模型生态局限❌ 对硬件要求较高(需至少 8GB RAM,推荐 16GB+)❌ 部分超大模型(如 70B 参数版本)仍需高端显卡❌ 功能较基础,复杂 ...
Java poi-tl 使用 word 模板 生成 word
poi-tl 简绍poi-tl(poi template language)是Word模板引擎,使用模板和数据创建很棒的Word文档。在文档的任何地方做任何事情(Do Anything Anywhere)是poi-tl的星辰大海。
poi-tl 官网https://deepoove.com/poi-tl/
横向对比方案移植性功能性易用性Poi-tlJava跨平台Word模板引擎,基于Apache POI,提供更友好的API低代码,准备文档模板和数据即可Apache POIJava跨平台Apache项目,封装了常见的文档操作,也可以操作底层XML结构文档不全,这里有一个教程:https://deepoove.com/poi-tl/apache-poi-guide.htmlFreemarkerXML跨平台仅支持文本,很大的局限性不推荐,XML结构的代码几乎无法维护OpenOffice部署OpenOffice,移植性较差-需要了解OpenOffice的APIHTML浏览器导出依赖浏览器的实现,移植性较差HTML不能很好的兼容Word的格式,样式糟糕-Jacob、winlibWindows平台 ...
LiteFlow 流程引擎引入Spring boot项目集成pg数据库
官网地址https://liteflow.cc/
简要如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。利用LiteFlow,你可以将瀑布流式的代码,转变成以组件为核心概念的代码结构,这种结构的好处是可以任意编排,组件与组件之间是解耦的,组件可以用脚本来定义,组件之间的流转全靠规则来驱动。LiteFlow拥有开源规则引擎最为简单的DSL语法。十分钟就可上手。LiteFlow的脚本组件,支持众多脚本语言,完全和Java打通,你可以用脚本来实现任何逻辑。
项目引入maven 所需jar包
liteflow-spring-boot-starter:
这是 LiteFlow 的核心依赖,它集成了 LiteFlow 与 Spring Boot 框架,使得你可以轻松地在 Spring Boot 项目中使用 LiteFlow 来进行流程管理。
liteflow-rule-sql:
此模块提供了从 SQL 数据库加载规则的能力,使你可以将流程定义存储在数据库中,并根据需要动态加载它们。
...
LiteFlow Spring boot使用方式
liteflow 使用
概述在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流程,几乎很难实现。
如何打破僵局?LiteFlow为解耦逻辑而生,为编排而生,在使用LiteFlow之后,你会发现打造一个低耦合,灵活的系统会变得易如反掌!
LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性。组件可实时热更替,也可以给编排好的逻辑流里实时增加一个组件,从而改变你的业务逻辑。
LiteFlow框架的优势如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个编排式的规则引擎框架,组件 ...
RabbitMQ 在 Spring Boot中使用方式
作用RabbitMQ 作为一款开源消息队列中间件(基于 AMQP 协议),在项目中主要解决系统间的异步通信、解耦、流量削峰等问题,提升系统的可扩展性和可靠性。以下是其核心作用及典型场景:
异步处理
场景:耗时操作(如发送邮件、短信、文件处理)异步执行,避免阻塞主流程。
示例:用户注册后,主线程快速返回,通过 RabbitMQ 异步触发邮件发送、数据清洗等任务。
优势:提升响应速度,优化用户体验,提高系统吞吐量。
应用解耦
场景:系统间通过消息通信,降低直接依赖。
示例:订单系统生成订单后,发送消息到队列,库存系统、物流系统各自订阅消息处理,任一系统故障不影响主流程。
优势:增强系统容错性,模块独立升级维护更灵活。
流量削峰
场景:应对突发高并发,避免服务过载。
示例:秒杀活动中,请求先写入消息队列,后端服务按处理能力消费,避免数据库被击穿。
优势:平滑流量波动,保护后端资源,结合限流策略提升系统稳定性。
日志收集与数据处理
场景:分布式系统中收集多节点日志或数据。
示例:多个服务将日志发送到 RabbitMQ,由统一消费者写入 Elasticsearch 或 Ha ...
Spring Security api接口 认证放行
实现类
ApiKeyAuthFilter 认证过滤器
ApiKeyAuthenticationToken 认证令牌
ApiKeyAuthenticationProvider API认证鉴权
SecurityConfig 安全配置类
ApiKeyAuthFilter方法概要OncePerRequestFilter 是 Spring Web 提供的一个抽象过滤器基类,核心作用是确保过滤器的 doFilterInternal 方法在一次HTTP 请求的整个处理流程中只执行一次。@Component 自动注册为 Spring Bean。注入 AuthenticationManager
AuthenticationManager 是 Spring Security 的 认证总入口;
调用它的 authenticate() 方法会:
遍历所有 AuthenticationProvider;
找到支持 ApiKeyAuthenticationToken 的 Provider(即你的 ApiKeyAuthenticationProvider);
执行验证逻辑。1234567891011121314 ...
基于注解+拦截器的API动态路由实现方案
概要通过自定义注解 @ApiMethod 结合 Spring 拦截器 ApiHandlerMapping,实现对 /api/** 路径 POST 请求的动态路由拦截,将请求映射到指定业务服务的对应方法,无需编写大量 Controller 层代码,提升接口开发灵活性。
核心组件说明1. 自定义注解 @ApiMethod用于标记业务服务中需要对外暴露的 API 方法,通过注解值绑定 API 路径,支持运行时反射获取注解信息。
12345678910111213import java.lang.annotation.*;/** * API方法绑定注解 * 用于标记业务服务中可被/api/**路径调用的方法 */@Retention(RetentionPolicy.RUNTIME) // 运行时保留,支持反射获取@Target(ElementType.METHOD) // 仅作用于方法public @interface ApiMethod { /** 绑定的API子路径(如create、getuser) */ String value() default ...
LiteFlow Spring boot使用方式
liteflow 使用
概述在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流程,几乎很难实现。
如何打破僵局?LiteFlow为解耦逻辑而生,为编排而生,在使用LiteFlow之后,你会发现打造一个低耦合,灵活的系统会变得易如反掌!
LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性。
组件可实时热更替,也可以给编排好的逻辑流里实时增加一个组件,从而改变你的业务逻辑。
LiteFlow框架的优势如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个编排式的规则引擎框架,组 ...
Spring cloud 微服务 Gateway 项目中使用
概述Spring Cloud Gateway 是 Spring Cloud 生态系统中的一个关键组件,用于实现 API 网关功能。它基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.x 构建,旨在提供一种简单且有效的方式来路由到 API 微服务,并为它们提供横切关注点(如:安全性、监控/指标、限流等)。以下是对 Spring Cloud Gateway 的详细解析。
项目引入pom 文件1234567891011121314<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> ...
LiteFlow 流程引擎引入Spring boot项目集成pg数据库
官网地址https://liteflow.cc/
简要如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。利用LiteFlow,你可以将瀑布流式的代码,转变成以组件为核心概念的代码结构,这种结构的好处是可以任意编排,组件与组件之间是解耦的,组件可以用脚本来定义,组件之间的流转全靠规则来驱动。LiteFlow拥有开源规则引擎最为简单的DSL语法。十分钟就可上手。LiteFlow的脚本组件,支持众多脚本语言,完全和Java打通,你可以用脚本来实现任何逻辑。
项目引入maven 所需jar包
liteflow-spring-boot-starter:
这是 LiteFlow 的核心依赖,它集成了 LiteFlow 与 Spring Boot 框架,使得你可以轻松地在 Spring Boot 项目中使用 LiteFlow 来进行流程管理。
liteflow-rule-sql:
此模块提供了从 SQL 数据库加载规则的能力,使你可以将流程定义存储在数据库中,并根据需要动态加载它们。
...
