【java-在Maven上使用不带Spring的AspectJ】教程文章相关的互联网学习教程文章

Java-AspectJ和Maven【代码】

我试图让AspectJ在一个现有项目中工作(实际上,我对该项目知之甚少,因为它似乎并不重要). 我们决定使用加载时间编织以避免使用ajc 因为我是AspectJ的新手,所以我首先创建了一个示例项目,其中包含一些类和日志记录方面:@Aspect public class LoggingAspect {@Pointcut("call(public de.test.beans.IPerson+.*(..))")public void logExecutions(JoinPoint jp) {}@Before("logExecutions(jp)")public void beforeExecutions(JoinPoint...

春季-建议使用AspectJ的javax.persistence.EntityManager不起作用【代码】

我正在尝试使用AspectJ和Spring建议javax.persistence.EntityManager.它只是行不通:没有错误,在控制台上也没有“抓到” … 这是我的方面:package trc.suivi.aspects;public aspect EventManagerAspect {public EventManagerAspect() {}pointcut catchIt() : (execution(* javax.persistence.EntityManager.persist(..)));after() returning: catchIt() {System.out.println("caught");}}这是我在Spring中配置方面的方式:<bean c...

AOP-错误:org.aspectj.runtime.internal.AroundClosure上的java.lang.StackOverflowError【代码】

我正在尝试使用面向方面的编程来执行一个简单的斐波那契函数并跟踪所有对任何调用方法与Java中的方法不同,并显示嵌套他们的水平. Java代码:package tracing;public class Test {static int fib(int n) {if (n<=1)return n;elsereturn fib(n-1) + fib(n-2);}static void report(int n,int r) {System.out.println("fib("+n+")="+r);}public static void main(String[] a) {report(4,fib(4));} }AspectJ代码:package tracing;publi...

java-如何使用AspectJ访问私有字段?【代码】

我正在研究AspectJ及其许多用途,并发现了mixin. 我可以找到许多使用纯AspectJ .aj方面的示例,但是我只需要使用@AspectJ批注. 我要实现的目标如下: 我有一个无法修改的类,它具有一个私有类变量,在完成特定的类方法后,我需要查询该私有类变量.此类没有与此私有类变量关联的getter或setter方法.public final class CannotAmend {private Uri privateUri;public final void methodOne(){}public final void methodTwo(){}public final...

java-将Ajc编译器与Spring问题AspectJ一起使用【代码】

当我尝试使用ajc编译器与spring进行Aspectj交互时,我得到了errror.when,当我删除Aspectj时,代码工作正常编译时编织有什么问题吗caused by: java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De...

方法中要使用的Java Aspect返回值【代码】

我有一个@After java方面,可以运行某些逻辑.我需要它返回一个结果(一个对象),该结果可以在方面的切入点截取的方法中使用.可能吗?解决方法:您需要的是@Around,它允许您将想要的内容返回给建议对象:@Around("com.xyz.myapp.UserService.createUser()") public Object userCreationAdvice(ProceedingJoinPoint pjp) throws Throwable {//Do something if needed before method executionObject retVal = pjp.proceed();//Do somethi...

Aspectj @Around pointcut Java中的所有方法【代码】

我正在编写一个简单的计时器方面,以检测属于我的项目的所有程序包中的所有方法.但是,这些类中各种方法的返回类型不同,并且出现以下错误: 它仅适用于二传手,而不适用于吸气剂.Error: applying to joinpoint that doesn’t return void这是我的时间.@Around("execution(* com.myproject..*(..))") public void log(ProceedingJoinPoint pjp) throws Throwable{LOG.info("TimerAspect");String name = pjp.getSignature().getName();...

java – Spring Aspectj @Before所有休息方法【代码】

在春天介绍@GetMapping之前,只有一个注释我们关心@RequestMapping,所以,这个方面有效@Before("within(aa.bb.*.rest..*) && execution(public * *(..)) && @within(org.springframework.web.bind.annotation.RestController) && @annotation(org.springframework.web.bind.annotation.RequestMapping)")但是在我们可以使用@GetMapping,@ PostMapping之后,这一点不起作用,但这些注释有一个元注释@RequestMapping. 有没有办法轻松拦截...

java – 如何使用AspectJ支持在Eclipse中创建Maven项目?【代码】

似乎必须在使用某些特定于Eclipse的配置或“Maven项目”的“AspectJ项目”之间进行选择,然后尝试正确获取AspectJ的XML配置. 是否有一些我缺少的Eclipse功能,或者是否有一个“预制”/教程项目,我可以作为一个开始使用? PS:我正在使用Eclipse 3.7(Indigo).解决方法:这是我用来学习AspectJ的pom文件.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=...

java – Aspectj覆盖方法的参数【代码】

我正在开发一个方面来检查setter方法的参数并用空值覆盖空字符串.到目前为止,这是我的州:@Before("execution(* de.foo.entity.*.set*(..)) && args(java.lang.String)") public void check(final JoinPoint jp) {LOGGER.debug(jp.getSignature().toLongString());Object[] args = jp.getArgs();for (int i = 0; i < args.length; i++) {if (args[i] instanceof String && ((String) args[i]).isEmpty()) {args[i] = null;}} } 不幸...

aspectj-maven-plugin compilanceLevel for java 10【代码】

我一直在尝试编译一个依赖于aspectJ-maven-plugin的项目,它与compilanceLevel 1.9(java 9)一起工作正常,但是当涉及到java 10时,它显然不受支持?ERROR] Compliance options: [ERROR] -1.3 use 1.3 compliance (-source 1.3 -target 1.1) [ERROR] -1.4 + use 1.4 compliance (-source 1.3 -target 1.2) [ERROR] -1.5 -5 -5.0 use 1.5 compliance (-source 1.5 -target 1.5) [ERROR] ...

java – Spring aspectj注释切入点【代码】

我试图在方法注释上创建一个Aspectj切入点,但我总是以不同的方法失败.我正在使用aspectj autoproxy(我没有在我的spring上下文中配置其他编织).我的课程看起来像这样:public interface Intf {@SomeAnnotationvoid method1() throws SomeExc; }public class Impl implements Intf {@Overridepublic void method1() throws SomeExc{//...} }@Aspect public class MyAspect {@AfterThrowing(pointcut = "execution(* *(..)) && @annot...

java – 使用AspectJ的AOP在春天不工作?【代码】

我的Aspect课程将是,@Configuration @EnableAspectJAutoProxy @Component @Aspect public class AspectClass {@Before("execution(* com.pointel.aop.test1.AopTest.beforeAspect())")public void logBefore(JoinPoint joinPoint) {System.out.println("Before running the beforeAspect() in the AopTest.java class!");System.out.println("Hijacked Method name : " + joinPoint.getSignature().getName());System.out.println(...

java – Spring AOP:Aspect没有处理被调用的方法【代码】

这是我第一次使用AOP,所以这可能是一个非常棒的问题.public class MyAspect implements AspectI {public void method1() throws AsyncApiException {System.out.println("In Method1. calling method 2");method2(); }@RetryOnInvalidSessionId public void method2() throws AsyncApiException {System.out.println("In Method2, throwing exception");throw new AsyncApiException("method2", AsyncExceptionCode.InvalidSession...

spring – 使用Java 8流API时的Aspectj BootstrapMethodError【代码】

所以我在这里 – 运行弹簧应用程序与弹簧roo背后. 我用我的控制器切换到方面,所以我的主控制器将如下所示:@Controller @RequestMapping("/apples") @SessionAttributes(types = {Apple.class}) public class AppleController { }和其他方面扩展其功能,如:privileged aspect AppleController_Basics {@RequestMapping(value = "/allApples", produces = "text/html", method=RequestMethod.GET)public String AppleController.all...

ASPECT - 相关标签