免费网站建设空间移动互联网应用程序管理情况

web/2025/9/29 7:04:00/文章来源:
免费网站建设空间,移动互联网应用程序管理情况,制作网页可以使用的网页元素包括,面试网站开发文章目录 一、日志处理二、事务控制三、参数校验四、自定义注解五、AOP 方法失效问题1. ApplicationContext2. AopContext3. 注入自身 六、附录1. 示例代码 AOP 提供了一种面向切面操作的扩展机制#xff0c;通常这些操作是与业务无关的#xff0c;在实际应用中#xff0c;可… 文章目录 一、日志处理二、事务控制三、参数校验四、自定义注解五、AOP 方法失效问题1. ApplicationContext2. AopContext3. 注入自身 六、附录1. 示例代码 AOP 提供了一种面向切面操作的扩展机制通常这些操作是与业务无关的在实际应用中可以实现日志处理、事务控制、参数校验和自定义注解等功能。 Spring AOP 的原理参阅《Spring中的AOP和动态代理》 一、日志处理 在调试程序时如果需要在执行方法前打印方法参数或者在执行方法后打印方法返回结果可以使用切面来实现。 Slf4j Aspect Component public class LoggerAspect {Around(execution(* cn.codeartist.spring.aop.sample.*.*(..)))public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {// 方法执行前日志log.info(Method args: {}, joinPoint.getArgs());Object proceed joinPoint.proceed();// 方法执行后日志log.info(Method result: {}, proceed);return proceed;} }二、事务控制 Spring 提供的声明式事务也是基于 AOP 来实现的在需要添加事务的方法上面使用 Transactional 注解。 Service public class DemoService {Transactional(rollbackFor Exception.class)public void insertBatch() {// 带事务控制的业务操作} }三、参数校验 如果需要在方法执行前对方法参数进行校验时可以使用前置通知来获取切入点方法的参数然后进行校验。 Slf4j Aspect Component public class ValidatorAspect {Before(execution(* cn.codeartist.spring.aop.sample.*.*(..)))public void doBefore(JoinPoint joinPoint) {// 方法执行前校验参数Object[] args joinPoint.getArgs();} }四、自定义注解 因为 AOP 可以拦截到切入点方法Spring 也支持通过注解的方式来定义切点表达式所以可以通过 AOP 来实现自定义注解的功能。 例如自定义一个注解来实现声明式缓存把方法的返回值进行缓存。 Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented public interface Cacheable {/*** 缓的Key*/String key();/*** 缓存过期时间*/long timeout() default 0L;/*** 缓存过期时间单位默认毫秒*/TimeUnit timeUnit() default TimeUnit.MILLISECONDS; } 然后定义一个切片来实现常规的缓存操作先读缓存缓存不存在时执行方法然后把方法的返回结果进行缓存。 Aspect Component public class AnnotationAspect {Around(annotation(cacheable))public Object doAround(ProceedingJoinPoint joinPoint, Cacheable cacheable) throws Throwable {// 自定义缓存逻辑return joinPoint.proceed();} }五、AOP 方法失效问题 Spring AOP 的原理是在原有方法外面增加一层代理所以在当前类调用 AOP 方法时因为 this 指向的是当前对象而不是代理对象所以 AOP 会失效。 Service public class DemoService {public void insert() {// 该方法事务会失效insertBatch();}Transactional(rollbackFor Exception.class)public void insertBatch() {// 带事务控制的业务操作} }解决这个问题的常用方法有下面三种 1. ApplicationContext 使用 ApplicationContext 来手动获取 Bean 对象来调用 AOP 方法 Service public class DemoService {Autowiredprivate ApplicationContext applicationContext;public void insert() {DemoService demoService applicationContext.getBean(DemoService.class);demoService.insertBatch();}Transactional(rollbackFor Exception.class)public void insertBatch() {// 带事务控制的业务操作} }2. AopContext 使用 AopContext 工具类来获取当前对象的代理对象。 Service public class DemoService {public void insert() {((DemoService) AopContext.currentProxy()).insertBatch();}Transactional(rollbackFor Exception.class)public void insertBatch() {// 带事务控制的业务操作} }3. 注入自身 使用 Spring 注入自身来调用 AOP 方法 Service public class DemoService {Autowiredprivate DemoService that;public void insert() {that.insertBatch();}Transactional(rollbackFor Exception.class)public void insertBatch() {// 带事务控制的业务操作} }六、附录 1. 示例代码 Gitee 仓库https://gitee.com/code_artist/spring

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

seopeixun com cn搜索引擎优化至少包括哪几步

写时拷贝底层原理图 子进程谁先运行,由调度器决定 进程退出场景 代码运行完毕,结果正确:有返回值,返回0 代码运行完毕,结果不正确:有返回值,返回非0 代码异常终止。没有返回值 return 0的…

网站开发项目实训总结宝塔window搭建wordpress

本文由 极客范 - 踏雁寻花 翻译自 Balakrishnan Mariyappan。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并…

怎么样做推广网站买域名在哪里买

DashBoard(仪表盘)Logging(日志)Core Admin(Core管理)在Solr中,每一个Core,代表一个索引库,里面包含索引数据及其配置信息。Solr中可以拥有多个Core,也就同时…

免费建站软件哪个最好wordpress 图像描述

一、概述这篇文章主要分享Endpoint 终结点路由的中间件的应用场景及实践案例,不讲述其工作原理,如果需要了解工作原理的同学, 可以点击查看以下两篇解读文章:•Asp.Net Core EndPoint 终结点路由工作原理解读•ASP.NET CORE 管道模…

网站收录图片承德市人才信息网

高通8255芯片首次烧写需要进行分区烧写,方法如下: 目录 一:QFIL安装 二:关于QFIL详细文档 三:简要分区烧写方法 1烧写 meta build 2 然后重启一下机器 3 烧写 flat build 四:正常烧写程序 一&#…

惠阳住房和建设局网站天津制作网站公司

python技术面试题 1、Python中的幂运算 在python中幂运算是由两个 **星号运算的,实例如下: >>> a 2 ** 2 >>> a 4我们可以看到2的平方输出结果为4。 那么 ^指的是什么呢?我们用代码进行演示: >>>…

外行学习个人网站建设wordpress最新列表页

问题:在利用CityEngine导入影像和地形时,会出现影像或地形不显示的问题。 分析:这主要是由影像、地形的尺寸大小和像素深度两个因素导致的。 解决: 1.调整尺寸 首先看一下影像和地形的大小。我们知道CityEngine并不是一个展示平台…

网站建设专业网站设计公司物格网昔阳做网站公司

2024杭州设备维护与状态监测、故障诊断及维护技术展(5月) 2024中国(杭州)国际设备维护与状态监测、故障诊断及维护技术展览会 展会时间:2024年5月10-12日 展会地点:杭州国际博览中心 主办单位:上…

某网站优化方案移动互联网技术学什么

目录 安装在线安装离线安装 配置mysql5.7bitnami/mysql8.3redisweb前后台分离部署前端https(SSL)配置nginx动态传参资源限制:内存、cpunacossentinelgateway 问题汇总iptables No chain/target/match by that namedocker-compose.yml修改mysql密码,重启后…

手机可以看的网站建设电影会员网站首页

如今装修最受关注也最让人头疼的就是儿童房装修了,身边二胎家庭、双胞胎家庭也是越来越多,如果户型小,再面对那只有几十平的小户型,2个孩子无法避免的要挤一间卧室!所以对于儿童床的摆放和收纳该如何合理安排呢&#x…

电商网站建设的关键电商型网站开发多少钱

一、实现全局跨域:新建一个Controller,其它的controller都继承它 1、新建BaseController 2、在后端配置,此处省略【详情见第12讲四、3、】 3、其它的控制器继承BaseController,这个时候就能够完成全局的跨域 【向后台传cookie和…

大学网站模板htmlc2c模式特点

路由跳转场景 页面跳转是路由最常用的能力,Navigation通过NavPathStack提供了诸多方法,下文以pushDestination方法为例,介绍Navigation的路由跳转相关能力。 页面间跳转 NavPathStack提供了路由管理的能力,通过NavPathStack进行…

没内容的网站怎么优化电商网站创办过程

大家好,我是电商小布。 当前的互联网时代下,电商无疑是最炙手可热的行业。 各种各样电商项目的出现,给了我们大家更多的机会选择,并从中来享受到流量至上的魅力。 腾讯旗下的视频号小店就是其中之一。 这个项目是依靠于视频号…

上海网站建设流程用户界面设计的基本原则

Docker基本概念 1.Docker概述1.1 Docker是什么?1.2 Docker的宗旨1.3 容器的优点1.4 Docker与虚拟机的区别1.5 容器在内核中支持的两种技术1.6 namespace的六大类型 2.Docker核心概念2.1 镜像2.2 容器2.3 仓库 3. 知识点总结3.1 Docker是什么?3.2 容器和虚…

宣武网站建设有个网站做彩盒的

参考文章:【SpringBoot】之创建自定义 SpringBoot-Starter_springboot创建starter_王廷云的博客的博客-CSDN博客 源码包和jar: https://download.csdn.net/download/tiantangpw/88045999 自己写的starter;使用的apache-commons-email 包内包含源码和已打包的jar,亲测可用,可以…

网站 title 被修改大学网站建设管理办法信息化

上文介绍了品牌隔离的基本原理,就是通过不同的前端和微服务来实现。但是确实很多功能是类似的,所以从编程角度还是有些管理手段的。 前端部分:前端部分没有什么特别手段,就是两个独立的项目工程,分别维护。相同的部分复…

wordpress群站58同城兰州网站建设

文章目录 一、项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用…

网站建设验收确认书济南网站制作服务

版本号发布日期版本名称API Level更新内容Android 1.02008年9月23日初始版本初始版本,提供基本的手机功能和应用程序。Android 1.52009年4月30日Cupcake添加了文本输入方法(包括虚拟键盘)和语音搜索。 改进了网络和蓝牙功能。Android 1.62009…

企业新网站seo推广建设网站时候应该注意哪些

原文地址:https://blog.csdn.net/chaishen10000/article/details/79324016 最近一段时间都在学习深度学习,想着在用户画像标签模型中看能不能用上,终于,用了一个多月的时间,结合实际的场景和数据,搭建了一套…

个人工商注册查询网站网站试运营

数据结构基础 学习内容概述 今天我开始学习数据结构,重点理解了它在编程中的重要性。数据结构是为了高效访问数据而设计的一种数据组织和存储方式。它不仅仅关注数据的存储位置,还关注数据元素之间的关系。 计算机科学家尼古拉斯沃斯提出了著名的公式&…