<dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.9.7</version> </dependency> import javax.interceptor.AroundInvoke; import javax.interceptor.Interceptor; import javax.interceptor.InvocationContext; @Interceptor public class LoggingInterceptor { @AroundInvoke public Object logMethodInvocation(InvocationContext context) throws Exception { try { Object result = context.proceed(); return result; } catch (Exception e) { throw e; } } } import javax.inject.Inject; import javax.interceptor.Interceptors; @Interceptors(LoggingInterceptor.class) public class ExampleClass { @Inject private SomeDependency dependency; public void doSomething() { System.out.println("Doing something..."); } } <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_2.xsd" bean-discovery-mode="all"> <interceptors> <class>com.example.LoggingInterceptor</class> </interceptors> </beans>


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