- 博客(84)
- 收藏
- 关注
原创 SpringBoot自动装配底层原理和源码追踪
众所周知,SpringBoot的自动装配是其一大特色,也是我们使用的最多的部分,那么他的底层是如何实现的呢?今天来探寻一下。自动配置的作用 主要是启动类的@SpringBootApplication注解发挥作用打开看@SpringBootApplication的源码看一下除了元注解 里面还包括了@ComponentScan注解组件扫描以及@SpringBootConfiguration 和@EnableAutoConfiguration。
2023-11-22 22:52:42
21460
1
原创 SpringAI的MCP改STREAMABLE怎么配
SSE自2.0.0弃用改STREAMABLE;同webmvc/webflux starter设protocol=STREAMABLE,默认端点/mcp。
2026-10-14 08:04:08
17
原创 Boot4升后Jackson3怎么安全迁
Boot4默认Jackson3;tools.jackson(注解仍com.fasterxml);JsonMapperBuilderCustomizer;可选defaults;三档过渡。
2026-10-14 07:55:29
208
原创 Boot4升后Flyway迁移不跑怎么改
Boot4上裸flyway-core不够,须换spring-boot-starter-flyway/liquibase及*-test;非内存库加官方DB模块;用migrate日志与history表验。
2026-10-13 07:58:07
307
原创 Go1.27升级后json/v2怎么安全迁
Go1.27可不迁;用json/v2时传encoding/json的DefaultOptionsV1锁行为,对照nil切片与omitzero;回退用构建期nojsonv2。
2026-10-13 07:50:26
277
原创 Boot4接LangChain4j换boot4包
Boot4接LangChain4j须换*-spring-boot4-starter;两家族同版本号并行;迁集成+spring-boot4-starter,@AiService多半不用改。
2026-10-12 08:09:59
136
原创 JDK27升级后JFR默认脱敏怎么做验证
JDK27默认开启JFR进程内脱敏;用FlightRecorderOptions追加或关闭规则,jfr print与jfr+redact=debug做验收,录像[REDACTED]是特性。
2026-10-12 07:57:10
487
原创 Boot4升级后MockBean和MockMvc怎么改
Boot4:MockBean改MockitoBean;SpringBootTest需加AutoConfigureMockMvc才有MockMvc;共享mock勿放Configuration字段。
2026-10-11 08:08:48
300
原创 Go1.26升级后Green Tea成默认GC怎么验
Go1.26默认开启Green Tea;用构建期GOEXPERIMENT=nogreenteagc做同负载对照,数字只引官方10–40%,预计1.27移除回退旗。
2026-10-11 07:56:48
441
原创 Kotlin2.4升级后注解默认挂参和属性
Kotlin2.4的KTLC-391改了未写use-site时的默认挂载:param+property,field仅property不适用时。讲@Email机制、@all与first-only回退。
2026-10-10 08:07:20
242
原创 JDK27升级后紧凑对象头怎么做AB对比
JDK27默认开紧凑对象头;用-XX:-UseCompactObjectHeaders做单变量A/B,钉死同一GC,拆开测换收集器,勿写死省堆比例。
2026-10-10 07:51:01
266
原创 Boot4接Koog选starter还是ChatClient
Boot4接Koog走v2 Spring AI starter;多ChatModel需配bean名否则静默不装配;dispatcher避开与@Async抢池;1.1.1首发v2已含#2155修复。
2026-10-09 10:39:44
516
原创 Go1.27用goroutineleak抓线上泄漏
Go1.27的goroutineleak用GC可达性标出永久阻塞的泄漏;挂上net/http/pprof即有端点,适合低频巡检,并对照未缓冲channel泄漏。
2026-10-09 10:26:33
221
原创 Kotlin2.4迁移context parameters
2.3.20起 context receivers 不再支持;2.4除 context arguments 与 callable references 外已稳定,一般可去掉实验开关。
2026-10-08 16:58:03
360
原创 JDK27升级后小容器GC和内存默认值变了
JDK 27 起未指定 GC 一律 G1;旧 Serial 条件为单 CPU 或物理内存<1792MB;紧凑对象头默认开启。小容器升级需重核 GC、堆缩放与 CDS 镜像。
2026-10-08 16:32:09
852
原创 Boot4升级PostConstruct不跑了
Boot 4(Framework 7)里 javax 的 PostConstruct 不会被调用,@Resource、@Inject 字段为 null,日志无 WARN。附迁 jakarta 清单。
2026-10-04 10:13:56
364
原创 Go1.25 synctest测并发别再睡
Go1.25 testing/synctest 用 bubble 与虚拟钟测并;讲清 Test/Wait、durable blocked、net.Pipe,对比 Sleep 断言。
2026-10-04 10:06:23
350
原创 LangChain4j用AiServices拼Tool
LangChain4j 1.21.0用AiServices声明式组装ChatModel、MessageWindow记忆与@Tool;同MemoryId不要并发,RAG可改按需Tool。
2026-10-03 10:11:50
272
原创 Boot4挂起函数丢traceId怎么修
Spring Boot 4下Kotlin 挂起函数丢traceId:MVC只配YAML未必够,需spring-boot-reactor、Hooks或PropagationContextElement。
2026-10-03 10:05:07
474
原创 Spring7 RestTemplate弃用迁移
Spring Framework 7弃用RestTemplate,渐进迁RestClient,再用HttpServiceProxyFactory做接口客户端。
2026-10-02 10:12:05
451
原创 Go1.25 FlightRecorder慢请求截trace
Go 1.25 Flight Recorder 环形缓冲最近几秒 trace,慢请求 WriteTo 截快照;讲清 MinAge/MaxBytes 与 defer Unlock 反例。
2026-10-02 10:03:20
190
原创 LangChain4j用Agent拼工作流
LangChain4j-agentic(experimental)用@Agent与AgenticScope做sequence/parallel编排;agentic为1.20.2-beta30。
2026-10-01 10:32:49
196
原创 Kotlin后端别再用GlobalScope
Kotlin后端慎用GlobalScope:无Job难取消。用有边界CoroutineScope、coroutineScope与shutdown时cancel,落地结构化并发。
2026-10-01 10:22:22
498
原创 Java虚拟线程上线后瓶颈转移到哪看三层
开了虚拟线程,平台线程池的天花板常先消失;排队会下移到连接池、锁与 pinning 残留,以及无池下游。用运维 checklist 逐层对,别继续扩 VT。
2026-09-30 10:07:16
270
原创 Go slog生产落地LevelVar与共存
Go slog用JSONHandler做行分隔日志,SetDefault桥接log,LevelVar可热改级别;与Zap经exp/zapslog.NewHandler共存,并不取代第三方库。
2026-09-30 10:05:11
259
原创 Go1.25容器感知GOMAXPROCS避限流
Go 1.25 起,Linux 上默认会看 cgroup 的 CPU limit(对应 K8s 的 CPU limit,不看 request),并周期性刷新;手动设GOMAXPROCS或相关 GODEBUG 会关掉这套自动行为。
2026-09-29 10:14:28
1080
原创 Genkit Go上手:对照Eino做Go大模型框架选型
Genkit Go(1.25+)用Init/DefineFlow/Generate跑通流程并可用DevUI;对照Eino的Graph/ADK与薄SDK genai,按编排复杂度选型。
2026-09-29 10:04:13
327
原创 Go的DefaultClient超时为何总不生效
DefaultClient的Timeout为0表示无超时;NewRequest使用Background,须NewRequestWithContext才能让WithTimeout作用于Do。
2026-09-28 10:30:54
329
原创 Boot4统一http.clients配置客户端
Boot4用spring.http.clients统一RestClient/WebClient超时与重定向;迁移3.5旧前缀,注入Builder生效,serviceclient可分组覆盖。
2026-09-28 10:13:27
504
原创 SpringAI2用Advisors串Memory与RAG
ChatClient用defaultAdvisors挂记忆与问答检索;每次必传CONVERSATION_ID,Memory须在RAG前,工具顾问默认自动注册。
2026-09-27 10:39:44
401
原创 Framework7声明式API版本别手写v1
Boot4用ApiVersionConfigurer与mapping的version属性统一解析匹配,支持头/路径/弃用头,客户端需单独配置。
2026-09-27 10:12:17
175
原创 RestClient.create()绕过超时与虚拟线程配置
Boot 文档明确 create() 不走自动配置与 Customizer;对比注入 Builder,说明 3.5 超时路径与 4.0 #46404 的 JDK 虚线程差异及排障清单。
2026-09-26 10:53:43
328
原创 Boot3.5虚拟线程后Hikari按库定容
开VT不扩Hikari;按库核数定小池、fail-fast超时,勿按VT数扩连接,避免事务跨HTTP长租。
2026-09-26 10:20:57
303
原创 Spring AI接MCP:ChatClient要显式接线
Spring AI 2.0 中 MCP 工具不会自动绑定 ChatClient,须显式注册;讲清 Client/Server starter、STREAMABLE 优先与 HTTP 默认无鉴权。
2026-09-25 10:46:19
789
1
原创 JDK25作用域值:ThreadLocal之外的有界共享
JDK 25 作用域值(JEP 506)正式可用:一次写入、run/call 有界绑定,对照 ThreadLocal 与预览期结构化并发。
2026-09-25 10:31:56
330
原创 端云协同怎么拆本地模型、云端LLM与云电脑任务路由
本文聚焦端云协同架构中的任务路由设计,梳理出端侧小模型、云端LLM与云电脑三层职责边界:短任务离线处理、长上下文复杂推理交由云端、高算力需求调用云桌面。基于可验证信息,提出四维路由判断条件(离线状态、是否需GPU、token量、延迟容忍度),并提供可运行的决策代码验证。强调“未证实”信息应隔离于配置契约,避免误导开发。建议先构建可观测路由体系,待官方文档发布后动态适配,确保架构稳健性。
2026-09-24 15:59:26
168
原创 Spring Boot 3.5 Redis:url下database被静默忽略
Boot 3.5 起配了 spring.data.redis.url,库号只认 URL path,无 path 默认 0,database 属性静默忽略;附复现、排障与迁移清单。
2026-09-24 08:57:44
454
原创 Spring Boot 3.5 Kafka max-poll-interval防踢组
Boot 3.5 新增 spring.kafka.consumer.max-poll-interval,对照 Kafka 默认 5 分钟 poll 间隔,给出 yaml/监听器示例与加长 interval 或拆任务的落地取舍。
2026-09-24 08:46:40
339
原创 GPT-6 Sol/Luna/Astra选型:价格智力场景对照表
对照 Astra、Sol、Luna 与 5.6 Luna 的官方定价、上下文与定位,给出可落地的场景选型表与 API 路由示例,并标明第三方评测边界。
2026-09-23 10:55:24
1245
原创 MCP无状态化:2026-07-28后还要粘性会话吗
对照MCP 2025-11-25与2026-07-28:协议层去会话后如何按Mcp-Method做K8s round-robin,以及业务显式handle建模。
2026-09-23 08:49:09
200
Html+Css+JS的生日网页
2023-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅