In Spring Boot with MyBatis, the @Mapper annotation is used to mark an interface as a MyBatis Mapper. Spring Boot automatically injects SqlSessionTemplate behind the scenes to enable SQL execution for these mapper interfaces. How Spring Boot Injects SqlSessionTemplate for @Mapper Interfaces Spring Boot and MyBatis integrate through MyBatis-Spring-Boot-Starter, which: Scans for @Mapper interfaces and […] →Read more
Reliable, Scalable, and Maintainable Applications 数据库 A data-intensive application is typically built from the standard building blocks that provide the commonly needed functionality 缓存 Remember the result of an expensive operation to speed up reads. 搜索及索引 Allow users to search data by keyword or filter it by various ways 流处理 Send a messenger to another […] →Read more
At a high level there are three distinct layers to the library: Stub, Channel, and Transport. Stub The Stub layer is what is exposed to most developers and provides type-safe bindings to whatever datamodel/IDL/interface you are adapting. gRPC comes with a plugin to the protocol-buffers compiler that generates Stub interfaces out of .proto files, but […] →Read more
Resolving version conflicts in Maven can be tricky, but Maven provides several strategies and mechanisms to handle dependency conflicts effectively. Here’s a deeper dive into how you can resolve version conflicts in Maven: 1. Maven’s Dependency Mediation (Nearest-Wins Strategy) Maven uses a nearest-wins strategy to resolve version conflicts. This means that when multiple versions of […] →Read more