@Aspect
@Component
public class LoggingAspect {
@Before("execution(* com.example.service.*.*(..))")
public void logBefore(JoinPoint joinPoint) {
System.out.println("Spring AOP: Before method " + joinPoint.getSignature().getName());
}
}
@Service
public class MyService {
public void perform() {
System.out.println("Performing service...");
}
}
AspectJ使用示例
@Aspect
public class LoggingAspect {
@Before("execution(* com.example.service.*.*(..))")
public void logBefore(JoinPoint joinPoint) {
System.out.println("AspectJ: Before method " + joinPoint.getSignature().getName());
}
}
public class MyService {
public void perform() {
System.out.println("Performing service...");
}
}
// AspectJ配置(通常在pom.xml中配置)
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.12.0</version>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
<aspectLibraries>
<aspectLibrary>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>