import org.syringe.annotation.Aspect; import org.syringe.annotation.Before; import org.syringe.annotation.Pointcut; @Aspect public class LoggingAspect { @Pointcut("execution(* com.example.myapp.*.*(..))") public void loggableMethods() {} @Before("loggableMethods()") public void beforeExecution() { System.out.println("Before method execution: Logging..."); } } <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <aop:aspectj-autoproxy/> <bean id="loggingAspect" class="com.example.myapp.LoggingAspect"/> </beans> package com.example.myapp; public class MyClass { public void doSomething() { System.out.println("Doing something..."); } } public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); MyClass myClass = (MyClass) context.getBean("myClass"); myClass.doSomething(); }


上一篇:
下一篇:
切换中文