AOP使用案例----公共字段填充

AOP、注解、EL表达、若依权限,Security原理综合分析 本文最开始只想记录AOP的使用,后来又扩展了很多其他的相关内容,比如SpringSecurity、SpEL表达式等知识点 阅读详情

AOP使用前准备工作

1.首先在pom.xml中导入AOP的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

定义一个切面类(切入点+通知)

1.类前注解:@Aspect @Component

 *@Component 将该类注册为Spring的Bean交给IOC容器管理

 *@Aspect  当Spring扫描到被@Aspect注解的类时(利用@ComponentScan扫描) 会被IOC容器识     别为一个切面(Aspect),通过动态代理自动生成一个动态代理类,将切面逻辑(需要增加的业务需求)     织入到目标方法中(需要被优化的方法 JoinPoint),运行时实际执行的是动态代理类中优化后的方     法

2.方法前注解 切入点:@Pointcut(execution) 

                      通知类型:@Around、@Before、@After、@AfterReturing、@AfterThrowing

                      自定义注解:@annotation

*@Pointcut(execution) 用于封装切入点表达式 参数execution用于定义切入点,即规定需要被强化    的方法,*拦截方法返回值任意  .*.*任意的类与方法 (..)任意参数类型 * 类与方法层面 (..)方法参数    层面  利用该注解将切入点表达式封装到一个方法中,将该方法作为value给通知类型的参数赋        值,实现切入点表达式的复用

*@annotation(value:自定义注解的全类名)  将自定义注解的全类名作为参数写入到@annotation中    可以限定拦截被value注解的方法

*通知类型 例如@Before() 表示被标注的方法在目标方法(JoinPoint)前执行

3.JoinPoint(连接点) 携带通过切入点与自定义注解筛选出来的需要被强化的方法的信息 后续通过       反射取出原方法的信息并调用

*JoinPoint.getSignature() 返回当前连接点的签名对象(Signature接口)可以获取方法的基本信        息,方法名、参数类型、返回类型,  此处强转为 MethodSignature 用于获取方法的详细信息 此处    获取拦截到方法的操作类型(Update、Insert) 便于区分后续需要赋值的公共字段

*Object[] args = joinPoint.getArgs() 获取方法参数的实体对象 再通过反射获取该实体类的相关                           set方法赋值即可

【Spring】AOP实现公共字段填充 只知道SpringAOP概念?不妨看看项目中AOP怎么使用 阅读详情

相关推荐

苍穹外卖(四) AOP切面公共字段自动填充及文件上传

的方式为这个Mapper的方法加入注解, (让这个方法成为切入点)作为一个标识表示该操作需要赋值 没有标识就不需要。

weixin_47786582的博客 1686

AOP实现公共字段填充

我们都是通过编码操作数据库,当我们完成某些业务时,会向数据库插入一条数据,或者修改数据库时,会有一些公共字段,例如(新增)修改时间或(新增)修改人。如果每次都手动去设置这些值是非常麻烦的。Spring Aop思想恰好可以用来解决这个问题。

一杯冰美式的博客 581

Java自定义注解使用反射获取字段注解

简单demo,导入即可运行。

aop实现公共字段自动填充

反射 aop实现公共字段自动填充

weixin_43791952的博客 458

SAP BAPI调用避坑指南:处理MD61/MD62计划独立需求时,这些参数和返回值你必须检查

本文详细解析了SAP BAPI调用中处理MD61/MD62计划独立需求的关键参数和返回值检查要点,包括版本控制、日期类型和删除标记等核心参数设置,以及常见错误排查和高级调试技巧,帮助开发者高效管理需求计划数据。

weixin_30316097的博客 612

AIGC实战:用ComfyUI和Lora微调打造专属原神角色(含完整工作流)

本文详细介绍了如何利用ComfyUI和Lora微调技术打造专属原神风格角色,涵盖从环境配置、数据集准备到工作流构建和Lora训练的全过程。通过模块化节点设计和高级控制技术,创作者可实现高度个性化的AIGC艺术创作,提升二次元角色生成的效率与质量。

weixin_29185199的博客 350

利用Spring AOP实现数据库表单公共字段填充 | JoinPoint的应用

本文利用AOP实现数据库表单公共字段填充

逐梦苍穹的博客 2011

LTE随机接入实战:如何通过PRACH前导码优化小区覆盖半径(附计算公式)

本文深入探讨了LTE网络中PRACH前导码格式对小区覆盖半径的关键影响。通过解析不同前导码格式(如Format 0-3)的物理参数与覆盖能力,提供了核心计算公式与实战Python脚本,指导网络工程师根据覆盖需求、环境多径和容量等因素,科学选择前导码格式以优化边缘用户接入成功率,实现精准的网络规划与优化。

qq_27496129的博客 576

AOP应用-公共字段的自动填充

自定义注解 AutoFill进入到sky-server模块,创建com.sky.annotation包。import com/*** 自定义注解,用于标识某个方法需要进行功能字段自动填充处理//数据库操作类型:UPDATE INSERT OperationType value();/*** 自定义注解,用于标识某个方法需要进行功能字段自动填充处理//数据库操作类型:UPDATE INSERT OperationType value();/**

lvchen123121的博客 454

Windows Server 2012 R2虚拟机安装全攻略:从镜像选择到网络配置一步到位

本文提供Windows Server 2012 R2虚拟机安装全攻略,涵盖从镜像选择到网络配置的完整流程。详细讲解在Oracle VM VirtualBox中的安装步骤、TCP/IP网络设置、系统优化及常见问题解决方案,帮助用户快速搭建可立即投入使用的服务器环境。特别适合IT初学者和系统管理员学习传统服务器应用的部署与配置。

weixin_28363123的博客 538

AMD Ross FPGA Agent 实战:用 AI 驱动 Vivado 开发流程

在 EDA 领域,FPGA 开发长期面临工具链重、反馈周期长、报错晦涩等痛点。AI Agent 通过自然语言交互与工具调用,将 Vivado 的 Tcl 批处理流程封装为可编排、可观测的智能体,显著降低查文档与读报告的时间成本。其核心在于 Harness 与 Agent 的协同:Harness 提供安全执行环境,Agent 负责决策与迭代。典型应用包括工程创建、约束生成、综合实现报告解读及比特流失败排查。本文以 AMD Ross 为例,拆解其架构设计与实操方法,帮助开发者理解如何将 Agent 落地到高门槛

weixin_29189363的博客 1037

Aop实现公共字段自动填充

Aop实现公共字段自动填充

北执南念的博客 1411

使用Clumsy和Process Explorer定位软件高CPU占用问题

使用弱网模拟工具Clumsy和进程查看工具Process Explorer定位软件高CPU占用问题。

dvlinker的技术专栏 5709

利用AOP来实现公共字段填充 案例

数据库有多张表都有创建时间、创建用户、更新时间、更新用户的字段,每次做更新或者新增的时候,总要重复写一些代码,如何让每次在新增或者更新时自动添加上这些字段呢,这就使用到了切面编程的思想,下面是具体的实现过程。

chinewdx的博客 300

开源GIS -- 笔记

基础开发库 数据读写:GDAL/OGR(C/C++) ArcGIS和GE都是使用此工具 投影转换:Proj.4(C/C++) 拓扑计算:JTS(Java),GEOS(C++),Shapely(python) 组件式开发库 GeoTools(Java),DotSpatial(.NET) 空间分析: Scipy(通用科学计算、方程求解), numpy,NextworkX, rPy(统计分析), Scikit-learn,pysal(空间分析) 深度学习: Keras、 tensorflow、 pytor

DZ Space 4521

微信支付PHP集成指南

完整实现建议参考微信支付官方文档,包含更多支付场景(H5支付、Native支付等)和安全性处理细节。微信支付在PHP中的集成主要涉及服务端接口的调用和支付流程的实现。

bqq506615054的专栏 160

【全家桶教学】Spring Boot 公共字段自动填充实战(含 MyBatis Plus/AOP 两种方案)

亲爱的读者们,公共字段自动填充就像给代码请了个贴心小秘书,让我们告别重复劳动,专注核心业务。记得去年帮表弟重构 OA 系统时,用这个技巧让代码整洁度提升了 50%,连他的项目经理都来取经。希望这篇文章能帮你们写出更优雅的代码,让开发效率翻倍!

潜意识Java的博客 1376

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

AOP切面编程

AOP(Aspect-Oriented Programming,面向切面编程),跟oop面向过程编程相对,AOP一般用于将公共逻辑和业务逻辑进行拆分,可以减少代码间的耦合性。

m0_60469045的博客 561

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

公共字段自动填充aop

在项目开发中,我们的数据库设计往往会包括创建人、创建时间、修改人、修改时间等公共字段,这些公共字段有助于帮助我们知道是谁对数据库记录进行了更改,但这带来的一个问题就是在进行数据库插入或修改的时候,这些字段需要手动设置,这会给我们带来很大不便,这里我简单讲一下采用aop方式进行公共字段填充,因为项目集成了tk.mybatis,很多单表的操作并没有显示指定接口,所以采用在service层方法进行切入来...

TenSonLee的博客 1947

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

基于AOP实现公共字段自动填充

在切面类中定义一个方法,方法本身不需要方法体、参数及返回值。

yssssssssss111的博客 923

AOP切面公共字段自动填充

在Spring框架中,AOP可以应用于各种场景,如事务管理、缓存、日志、权限控制等,可以大大简化程序设计和代码维护工作,同时Spring框架还提供了各种AOP相关的注解和工具类,使得AOP的使用变得更加简单和方便

weixin_73253843的博客 1037

公共字段自动填充-AOP

在所有的新增和更新的业务操作中,都需要对上述字段进行赋值操作,编码相对冗余、繁琐,那能不能对于这些公共字段在某个地方统一处理,来简化开发呢? 答案是可以的,可以使用AOP切面编程,实现功能增强,来完成公共字段自动填充功能。 还可以使用拦截器统一对公共字段赋值,下面使用AOP技术解决上述问题。

cyt涛的博客 1161

AOP切面编程:公共字段的自动填充

通过切入点表达式,来捕获到对应的连接点(即:需要被AOP切面类操作的方法)。添加前置通知约定这些方法的第一个形参,就是要insert/update操作的实体类获取该实体类准备要赋值的数据,如:当前时间、当前人员的ID(如管理员id)根据注解上的操作类型,来执行不同的逻辑如果是insert类型,就给该实体类加上创建时间、更新时间、创建人ID、更新人ID这四个字段。

casually的博客 1101

通过AOP切面实现公共字段的自动填充

1). 自定义注解 AutoFill,用于标识需要进行公共字段自动填充的方法 2). 自定义切面类 AutoFillAspect,统一拦截加入了 AutoFill 注解的方法,通过反射为公共字段赋值 3). 在 Mapper 的方法上加入 AutoFill 注解

Hacker_Hacker007的博客 1259

SpringBoot的AOP在开发中的实例、公共字段利用AOP实现自动填充

先自定义注解和需要用到的枚举自定义切面、确定好切入点利用JoinPoint获取方法的注解的值和参数值利用反射获取set方法并执行set方法在Mapper调用注解。

mingzq123的博客 2021

AOP(面向切面编程),反射,公共字段填充

本文介绍了AOP(面向切面编程)的核心概念及其在公共字段自动填充中的应用。AOP通过切面、通知、连接点等机制实现横切关注点的模块化处理。文中详细讲解了自定义注解@AutoFill的实现,以及结合反射技术动态操作对象属性和方法的原理。通过一个员工管理系统的示例,展示了如何利用AOP切面拦截Mapper层方法,自动填充公共字段(如创建时间、更新者等)。该方案使用Spring AOP、Lombok等框架,通过注解驱动方式实现,显著提升了代码复用性和可维护性。

weixin_74416579的博客 982
上一篇: 以初学者的视角认识 SpringBoot自动配置原理
下一篇: 1.两数之和
码破苍穹ovo
博客等级 码龄2年 377粉丝 114原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值