aop相关内容

如何在运行时扩展方法?

这是课程: class Foo{私有无效 Boo(){//身体...}//其他成员...} 我需要的是: 在运行时创建一个 Foo2 类,其中包含所有 Foo 类成员的副本. 在Foo2 类中,将Boo 方法替换为Boo2 方法,其内容有一定的变化. 创建一个 Foo2 的实例并调用 Boo2. 感谢您的帮助. 解决方案 如果不是这种框架的主要目的,您可以在运行时使用 ..
发布时间:2021-11-11 04:43:24 C#/.NET

使用 aspectj 拦截带有反射的赋值

当我使用 tomcat 运行应用程序时,它说建议尚未应用,因此我的方面将无法工作.我必须在任何地方配置它吗?我没有做任何事情,所以我不知道什么代码可能有用. 谢谢! 编辑 我刚刚发现了如何解决这个问题,即使它说尚未应用方面,当我调用 setter 时它也能工作,但是我在为此使用反射时遇到了问题. 我有一个方面可以将 setter 拦截到一个运行良好的字段,但是当从 Gson ..
发布时间:2021-11-11 04:43:21 Java开发

如何知道我的应用程序代码中何时调用了任何方法?

只是为了好玩,我想写一个方面,比如日志记录、跟踪或检测/分析.但我不想使用任何已经可用的 AOP 框架. 我过去用过 PostSharp,现在 ASP.NET MVC 引入了动作过滤器,它与方面/建议注入非常相似,而 .NET 4 有 CodeContracts,它也与方面非常相似,我有一个非常清楚我希望方面 API 的样子. 我唯一还没有弄清楚的事情,我相信构建 AOP 库的核心是如 ..
发布时间:2021-11-11 04:43:18 C#/.NET

添加 POCO 实体

我有一个带有 context.tt 和 .tt 文件的 EDMX 文件.我在 .tt 文件下有 POCO 类. 我还有一个带有 POCO 文件的 EDMX. 我想将一些 POCO 类从 2nd EDMX 复制到 1st EDMX. 请记住,EDMX 中的表格是不同的. 只是想知道是否可以将一个 POCO 类从 EDMX 和 .tt 文件复制到另一个. 任何帮助将不胜感 ..
发布时间:2021-11-11 04:43:09 其他开发

根据配置为服务中的特定方法启用/禁用缓存

我们正在使用 Spring 的缓存抽象为我们的服务添加缓存行为. 默认情况下,@Enablecaching 注释要么启用/禁用整个服务的缓存. @Cacheable 注释已用于所有方法. 但是,现在我们要为某些端点/方法启用缓存并禁用其他端点的缓存 有没有办法通过删除服务中添加的注释来实现这一点,例如拦截器/过滤器否决基于配置的某些方法的缓存行为. 解决方案 一个解 ..
发布时间:2021-11-11 04:43:00 其他开发

项目启动时Spring aop不运行

我已经实现了一个 spring-boot aop 演示并且它运行良好,但是当我想在项目启动时使用它来加载一些资源时,它以某种方式不起作用 奥普: package com.neo.mysql;导入 org.aspectj.lang.JoinPoint;导入 org.aspectj.lang.annotation.After;导入 org.aspectj.lang.annotation.Asp ..
发布时间:2021-11-11 04:42:57 其他开发

ninject 拦截器 - 辅助方法

我有一个简单的界面: 公共接口 ITest{无效方法1();无效方法2();} 和实施: 公共类测试:ITest{公共无效方法1(){}公共无效方法2(){//方法1();}} 自定义拦截器: 公共类 CustomInterceptor:IInterceptor{公共无效拦截(IInvocation调用){调用.继续();}} 现在,当我执行两种方法时: ITest obj = 通过 ..
发布时间:2021-11-11 04:42:54 其他开发

在 AspectJ 中排除带注释的方法

嗨,我想排除这里的注释方法是代码. @Aspect公共类 ExceptionHandlingAspect {私有静态最终字符串标记 = ExceptionHandlingAspect.class.getName();@Pointcut("执行(* android.mobile.peakgames.net.aspectjandroid.AspectActivity.*(..)) " +"&& !@ ..
发布时间:2021-11-11 04:42:51 Java开发

切入点获取表达式在 XML 中不起作用

我有一个切入点表达式,它在用 java 编写时工作正常,但在用 xml 编写时会出错.由于我的方面是在一个项目中编写的,而它的 jar 在其他项目中可用,因此我必须在其他项目中使用 JAR 中的相同方面在 XML 中提供它的映射. 在 Java 中: @Pointcut("get(java.lang.String com.air.ghl..*) and @annotation(value)") ..
发布时间:2021-11-11 04:42:48 Java开发

使用 StructureMap.DynamicInterception 的面向方面编程

我实现了一个在结构图上使用 DynamicInterception 的控制台应用程序,我按照页面上的示例 StructureMap动态拦截.现在我正在尝试将代码传递给 asp.net MVC 站点,但出现以下错误 装饰器拦截器在对象构造期间失败.查看内部异常: 1.) 带有拦截的 ITSector.Site.Core.Controllers.HomeController 的 Dynam ..
发布时间:2021-11-11 04:42:45 C#/.NET

Spring aop 不是在一种方法上触发而是在另一种方法上触发

我使用 AOP 将监视器与业务逻辑分开.但是当我使用junit测试我的aop代码时,我发现执行方法B时不会触发AOP,但执行方法A时会触发AOP.方法 B 调用方法 A. 我的伪代码如下: @Aspect公共类时间监视器{@Pointcut("执行( * MainClass.A(..))")public void pointA();@Around("pointA()")对象监视器A(Pro ..
发布时间:2021-11-11 04:42:39 其他开发

如何在不重启 jvm 的情况下启动 aspectj loadtime weaver 代理/如何在代码中启动 loadtime weaver?

有没有办法在应用程序运行期间启动AspectJ loadtime weaver?意味着不重新启动JVM并添加 -javaagent:... ? 我尝试了https://stackoverflow.com/a/35775792/3880225但没有成功. 解决方案 是的,你可以这样做,我自己为 AspectJ 实现了这个功能,它从 1.8.7 版开始就包含在内,请参阅 发行说明 示例. ..
发布时间:2021-11-11 04:42:36 其他开发

如何配置aspectj忽略getter和setter

我有一个方面目前可以捕获我的包中的所有公共方法执行. 我想修改它以排除 setter 和 getter,所以我尝试了,这些是我尝试过的变体: 这个有效,但显然对 setter 或 getter 没有任何作用. @Around("execution(public * *(..)) && !within(com.walterjwhite.logging..*)") 这不会编译: @A ..
发布时间:2021-11-11 04:42:33 Java开发

AspectJ - 无法识别连接点表达式中的注释

在我的一个方面,我有以下方法: @Before("执行(* org.xx.xx.xx..*.*(@Standardized (*),..))")public void standardize(JoinPoint jp) 抛出 Throwable {} 目标是找到我的应用程序包的所有方法,这些方法至少有一个用@Standardized 注释的参数(不是用@Standardized 注释的类型不同 ..
发布时间:2021-11-11 04:42:30 其他开发