<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.7</version>
</dependency>
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LoggingAspect {
@Before("execution(* com.example.service.*.*(..))")
public void logBeforeMethodExecution() {
System.out.println("Method execution is being logged.");
}
}
ajc -cp path/to/aspectjweaver.jar -inpath path/to/classes -aspectpath path/to/aspects -outjar output.jar
package com.example.service;
public class UserService {
public void createUser(String username) {
System.out.println("User created: " + username);
}
public void deleteUser(String username) {
System.out.println("User deleted: " + username);
}
public void updateUser(String username) {
System.out.println("User updated: " + username);
}
public void getUser(String username) {
System.out.println("User retrieved: " + username);
}
}
Method execution is being logged.
User created: John