William(王明高) Blog

长风波浪会有时,直挂云帆济沧海。

基于mybatis拦截器和数据库配置记录操作日志

基于 MyBatis 拦截器实现操作日志记录的完整方案如下,结合了数据库配置和注解扩展性,适用于需要精准记录 SQL 执行细节的场景: 一、背景需求 痛点场景 需记录完整 SQL 语句(含参数替换后的可执行 SQL) 需关联业务模块、操作类型、执行结果等元数据 传统 AOP 方案难以获取底层 SQL 执行细节,MyBat...

Mybatis接口方法参数不加@param方法论

默认参数处理机制 在MyBatis中,当Mapper接口的方法有多个参数且没有使用@Param注解时,默认情况下,MyBatis会将这些参数放入一个Map中。键名默认为param1, param2等,或者可以通过索引0, 1来访问。 使用示例 假设有一个Mapper接口方法如下: public List<User> findUsers(String name, int a...

Spring boot自动配置包含详细步骤和代码实现

以下是一个完整的Spring Boot自动配置实现示例,包含详细步骤和代码实现: 一、项目结构 my-starter/ ├── my-spring-boot-autoconfigure/ │ ├── src/main/java/ │ │ └── com/example/autoconfigure/ │ │ ├── MyServiceAutoConfigurati...

详细步骤charles和安卓设备以实现抓包

以下是配置 Charles 和安卓设备以实现抓包的详细步骤: 安装 Charles: 在电脑上下载并安装 Charles。 配置 Charles 代理: 打开 Charles,确保它正在运行。 记住 Charles 默认使用的代理端口(通常是8888),可以在 Proxy -> Proxy Settin...

使用deepseek 的代码审查集成

要使用 GitLab Webhook 实现与 DeepSeek 的代码审查集成,你需要完成以下几个步骤: 了解 DeepSeek 的 API 文档: 确认 DeepSeek 提供了可以接收代码审查请求的 API 端点。 了解如何通过 HTTP 请求将代码发送到 DeepSeek 进行审查,并获取审查结果。 配...

Spring aop 在 spring 事务应用

spring aop 在 spring 事务应用 核心 API Spring 事务 @Enable 模块驱动 - @EnableTransactionManagement Spring 事务注解 - @Transactional Spring 事务事件监听器 - @TransactionalEventListener Spri...

Spring aop 在 spring 事件应用

spring aop 在 spring 事件应用 核心 API - org.springframework.context.event.EventPublicationInterceptor 特性描述 当 Spring AOP 代理 Bean 中的 JoinPoint 方法执行之后,Spring ApplicationContext 将发布一个...

Spring aop 在 spring 缓存应用

Spring Aop 在 Spring 缓存应用(Caching) 核心 API Spring 缓存 @Enable 模块驱动 - @EnableCaching 缓存操作注解 - @Caching、@Cacheable、@CachePut、@CacheEvict 缓存配置注解 - @CacheConfig 缓存注解操作数据源 ...

Spring aop 在 spring 本地调度应用

Spring Aop 在 Spring 本地调度(Scheduing) 核心 API Spring 异步 @Enable 模块驱动 - @EnableAsync Spring 异步注解 - @Async Spring 异步配置器 - AsyncConfigurer Spring 异步代理配置 - ProxyAsyncConfi...

Spring aop设计模式

SpringAop 设计模式 一 创建型(Creational) 1 抽象工厂模式(Abstract factory) 基本概念 抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对...