社区
Java EE
帖子详情
spring 处理复杂的业务操作日志
kellypipe
2018-03-11 11:24:29
需求:记录某些业务的操作日志:具体是需要记录业务操作过程中的一些数据:比如某个插入数据库记录的id ,本来想利用aop 来统一处理,但是aop 取不到方法内的一些数据比如 插入数据库后的id .请问还能通过什么方法来统一处理呢。不考虑在每个方法添加处理方法的。
...全文
345
3
打赏
收藏
spring 处理复杂的业务操作日志
需求:记录某些业务的操作日志:具体是需要记录业务操作过程中的一些数据:比如某个插入数据库记录的id ,本来想利用aop 来统一处理,但是aop 取不到方法内的一些数据比如 插入数据库后的id .请问还能通过什么方法来统一处理呢。不考虑在每个方法添加处理方法的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_42501277
2019-11-04
打赏
举报
回复
可以通过useGeneratedKeys=true来获取自增id。 mapper @insert("insert into xxx value(xxx)") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int insertOne(@Param("model")Model model); service @MyAnnotation int insert(Model model) apect @after("@annotation(com.xxx.xxx.MyAnnotation)&&args(model)") void tocut(Model model){ int id = model.getId(); }
决决怪
2018-03-12
打赏
举报
回复
可以改用其他字段作为索引,执行效率会减弱一些。
maradona1984
2018-03-12
打赏
举报
回复
id不用数据库自增这种方式(插入时可确定id值),可以考虑利用数据源的过滤器,当然别的数据源是否存在这种功能我是不太清楚,这里数据源推荐用druid(换数据源成本较低),拿到sql和值可以做你想做的事情,但缺点是无法监控应用外的数据库操作,mybatis的拦截器也是能做到类似功能,但局限性比数据源更大 还有一种,利用canal(阿里的开源组件,用java模拟mysql的从库分析binlog,达到监控数据变化的功能),监控数据库所有操作,优点是啥都能拿到,缺点是只支持mysql,有一定学习曲线,编写足够稳定的服务也是难度之一
spring
3.2.4官网jar包
2. **AOP(面向切面编程)**:
Spring
提供了基于代理的和基于注解的两种方式实现面向切面编程,允许开发者定义横切关注点,如
日志
、事务管理等,从而将这些关注点与
业务
逻辑分离。 3. **MVC(Model-View-Controller...
Spring
MVC+Hibernate+
Spring
整合实例
在
Spring
MVC中,Controller接收请求,
处理
业务
逻辑后,将结果返回给View,而Model则包含了
业务
数据。
Spring
MVC通过DispatcherServlet作为前端控制器,
处理
所有HTTP请求,并分发到相应的
处理
器。此外,它支持多种视图...
Spring
+
Spring
MVC+Mybatis框架整合例子(SSM) 下载
它负责
处理
HTTP请求,将请求分发到对应的控制器,控制器
处理
业务
逻辑后,通过模型将数据返回,最后由视图渲染并展示给用户。
Spring
MVC的设计模式使得前后端职责分明,易于维护和扩展。 Mybatis则是一个轻量级的持久...
spring
-orm.jar
3. AOP集成:
Spring
的面向切面编程(AOP)使得可以在全局范围内
处理
持久化逻辑,如
日志
、事务控制等。 4. 对象/关系映射工具:
Spring
ORM为不同的ORM框架提供统一的API,减少学习成本,同时提高了代码的可移植性。 ...
spring
揭秘 PDF
事务管理是企业级应用中不可或缺的部分,
Spring
提供了声明式事务管理,让开发者能够在不侵入
业务
逻辑的情况下实现事务的控制。这大大提高了代码的可读性和可维护性。
Spring
Security是
Spring
生态系统中的安全组件...
Java EE
67,542
社区成员
225,857
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章