bean.xml
<!-- spring关于AOP面向切面编程的配置 -->
<bean id="logInterceptor" class="thomas.aop.LogInterceptor"></bean>
<aop:config>
<aop:pointcut id="bussinessService" expression="execution(public * thomas.service.*.*(..))"/>
<aop:aspect id="logAspect" ref="logInterceptor">
<!-- <aop:before method="before" pointcut-ref="bussinessService"/> -->
<aop:around method="aroundMethod" pointcut-ref="bussinessService"/>
</aop:aspect>
</aop:config> import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;import thomas.log.Logger;//@Aspect
//@Component
public class LogInterceptor {
//@Pointcut("execution(public * com.bjsxt.service..*.add(..))")
public void myMethod(){};
//@Before("myMethod()")
public void before() {
System.out.println("method before");
}
//@Around("myMethod()")
public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
Logger.info("oooOO Class: " + pjp.getTarget() + " | method: " + pjp.getSignature().getName() + " Start");
Object obj = pjp.proceed();
Logger.info("oooOO Class: " + pjp.getTarget() + " | method: " + pjp.getSignature().getName() + " End");
return obj;
}
}
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!-- spring关于AOP面向切面编程的配置 -->
<bean id="logInterceptor" class="thomas.aop.LogInterceptor"></bean>
<aop:config>
<aop:pointcut id="bussinessService" expression="execution(public * thomas.service.*.*(..))"/>
<aop:aspect id="logAspect" ref="logInterceptor">
<!-- <aop:before method="before" pointcut-ref="bussinessService"/> -->
<aop:around method="aroundMethod" pointcut-ref="bussinessService"/>
</aop:aspect>
</aop:config> import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;import thomas.log.Logger;//@Aspect
//@Component
public class LogInterceptor {
//@Pointcut("execution(public * com.bjsxt.service..*.add(..))")
public void myMethod(){};
//@Before("myMethod()")
public void before() {
System.out.println("method before");
}
//@Around("myMethod()")
public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
Logger.info("oooOO Class: " + pjp.getTarget() + " | method: " + pjp.getSignature().getName() + " Start");
Object obj = pjp.proceed();
Logger.info("oooOO Class: " + pjp.getTarget() + " | method: " + pjp.getSignature().getName() + " End");
return obj;
}
}
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
解决方案 »
- 向大家征集建议:程序员该如何走向架构师
- 关于j2ee企业级服务器
- JFrame repaint() 的问题!
- JAVA菜鸟高手都请进:关于Eclipse web
- 求JAVA Web开发平台!
- 求救!jboss4下一个简单sessionBean总是不成功
- 请教一下同时具有.net和Java项目经验的前辈,指点一下!
- J2EE里如何实现与(.net里的Session_end一样的事件)
- 关于Tomcat的问题,急
- 大家好!有谁在看书名为:Sams Teach yourself J2EE in 21 Days,中文书名:21天学通J2EE,
- 'sessionFactory' or 'hibernateTemplate' is required
- java Char的问题 怎么在arrayloop 中间加个空格“ ” 请求帮助
m2eSubversive: http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-subversive/0.13.0/N/0.13.0.201302121311/