首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Spring AOP切面启用新事务

在工作中有一个切面需要记录一下操作日志的需求,而且要求这些操作日志要存入数据库,并且无论业务层有什么异常,日志照常记录,那就不能沿用业务层的事务,而是需要新启一个事务了。...sping的声明式事务就是靠AOP来实现的,一般事务都在业务层启用,那如果要在AOP的逻辑启用一个新的事务要怎么做呢?...,需要启用新的事务 ... } 经过我的测试,通过doAfterReturning方法上加上注解@Transactional,并指定传播行为是REQUIRES_NEW依然不行。..."remote()") public void doAfterReturning(JoinPoint joinPoint,Object ret) throws Throwable { //声明式事务切面不起作用...,执行完就会提交,和业务层的原事务无关,即便执行完切面逻辑后继续执行业务代码的过程中出现异常,业务层的数据库操作因为有原事务而回滚,但切面的数据库操作不会回滚,因为这是个新的事务!

63610

GitHub 公开仓库隐藏自己的私人邮箱地址

GitHub 公开仓库隐藏自己的私人邮箱地址 2018-08-05 08:56 GitHub 重点在开方源代码,其本身还是非常注重隐私的...▲ GitLab 上的提交信息(图片已被魔改,毕竟邮箱是隐私) 但是 GitHub 上,同样的行为是看不到邮箱的: ?...▲ GitHub 上的提交信息(图片原封不动) 不止是提交信息,在其他的很多页面,你都不会看到 GitHub 暴露邮箱地址。... Primary email address 一栏,我们能看到 GitHub 为我们提供了一个专用的用于 git 配置的邮箱地址。 ? ?...隐私地址转换:如果发现以上列表的邮箱地址,则会转换为 GitHub 专用的邮箱地址。 阻止推送:如果发现暴露了邮箱地址,则阻止推送。 ?

2.9K10

Docker Desktop 启用 K8s 服务

集群就劝退了很多的人,因此这里最简单的方式就是直接使用 Windows or Mac 上的 Docker Desktop 内置的 K8s 来学习 然而,由于某些网络原因,如果你直接在 Dokcer 启用这个功能的话...最新版的软件安装时也是会默认使用 WSL 作为宿主的,这里我使用的是 3.3.1 版本的 Docker,内置的 k8s 版本为 v1.19.7 PS:安装 Docker 之前需要你 BIOS 开启虚拟化...,同时基于你的宿主程序的选择,你还需要执行如下的操作 使用 WSL2 作为宿主:“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭 Windows 功能” 勾选上适用于 Linux 的 Windows...子系统,然后 Microsoft 商城中下载一个 Linux 的发行版本 使用 Hyper-V 作为宿主:“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭 Windows 功能” 勾选上...等待命令的执行完成,可以看到我们本地的 Docker 已经包含了 images.properties 文件列到的镜像 ?

3.9K21

iOS 工程 Cocoapods 的使用

我们开发 iOS 程序的时候,往往都会根据需要导入很多的第三方框架,但是不同的框架完成的功能不同,所以导入的方式也不同,并不是把它直接拖进工程中就完事了,我们需要配置各种环境,链接各种库文件等等。...这个时候我们就需要用到 cocoapods 来管理我们的第三方了,我们有了 CocoaPods 这个工具之后,只需要将用到的第三方开源库放到一个名为 Podfile 的文件, 然后命令行执行 $...xcodeproj 文件选择终端打开,然后 终端输入命令 cd ..  ...以后打卡工程就直接打开这个文件就好啦 其中 podfile 文件显示了我们这个工程中所以集成的第三方, 想修改版本的话就把后面的版本号改成你所需要的版本号就好,想删除的话就把这行删掉,想添加的话就用第五部的搜索命令去搜索然后同样把搜索结果以...有的时候 pod install 的时候会出现 [!]

99040

categoryiOS开发的使用

上面是后端同学按照照module的方式开发的服务,整个的项目中请求前缀相同而每个module都有自己的前缀,结合起来整个请求URL格式就可以拆分为 HOT:PORT?...正如我们的标题一样我们采用category将统一的网络请求拆分到不同的文件---类似服务端的module一样将器拆分到不同的文件中进行管理 比如上面的我们将通过用的网络请求放置到ApiFetch这个类...error) { failure(error,api); }]; 然后是与服务端的mould保持一致我们进行各模块的网络请求管理以便根据某一某块的特殊要求作出变化,例如,user模块...附带一个module对应的参数---user,对应的Oder也会添加一个order作为模块url参数的前缀 然后是模块对应的url的管理啦: 如上图每个模块都有自己的path对应url,我们可以统一的防止...category对应的头文件 总之一句话就是分而治之,将杂而乱的url分化到不同的模块中去,按照每个模块的特性去进行管理 最后我们看看怎么使用吧 user模块的网络请求实例 NSDictionary

73610

RunLoopiOS开发的应用

概要 RunLoopiOS开发的应用范围并没有像runtime 那样广泛,我们通过CFRuntime的源代码可知runloop跟线程的是密不可分的,一个线程一定会创建一个对应的runloop,只是主线程创建就自动...苹果线程管理 Thread Management也说了在线程利用runloop, ?   ...此外,runloop并不是一个简单的do-while,作为OSX/iOS系统Event Loop表现,runloop需要处理消息事件,没有消息的时候休眠,有消息事件的时候立刻唤醒。   ...系统会监听主线程runloop的的进入/休眠、退出的activities 来处理autoreleasepool,也是同学们长讨论的自动释放池什么时候释放的问题。...image.png 3.3 TableView实现平滑滚动延迟加载图片 顺带提一下,这个我开发没有用到。

1.8K20
领券