在哪个网站可以做图文合并,h5购物网站模板,有没有什么好的网站,可以做网站引导页的页面简介#xff08;aop作用#xff09;#xff1a;1.在不改变源代码的基础上进行功能添加#xff0c;如日志打印、执行时间统计。2.与代理效果类似但更加便捷。
示例#xff1a; maven依赖#xff1a; dependencygroupIdorg.springframework/groupIdaop作用1.在不改变源代码的基础上进行功能添加如日志打印、执行时间统计。2.与代理效果类似但更加便捷。
示例 maven依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.20/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.9.7/version/dependency
!-- 测试--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency dao接口
public interface UserDao {public void save();
} dao实现类
Component //声明为组件
public class UserDaoIim implements UserDao {Overridepublic void save() {System.out.println(save);}
} spring配置类EnableAspectJAutoProxy
Configuration //定义为配置类
ComponentScan()//包扫描
EnableAspectJAutoProxy //开启aop
public class SpringConfig {}通知类核心
Aspect
Component
public class MyAop {Pointcut(execution(void com.dt.dao.UserDao.save()))//单的方法增强// Pointcut(execution(void com.dt.dao.UserDao.*(参数)))//对所有方法增强参数没有就不填public void pt(){}Before(pt())//对切点pt所代理的方法执行前增强public void before(){System.out.println(执行前增强);}After(pt())//对切点pt所代理的方法执行后增强public void after(){System.out.println(执行后增强);}Around(pt())//对切点pt所代理的方法执行环绕增强public void around(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println(around执行前增强);joinPoint.proceed();System.out.println(around执行后增强);}AfterReturning(pt())//对切点pt所代理的方法返回后通知public void fterReturning() {System.out.println(执行后返回增强);}AfterThrowing(pt())//对切点pt所代理的方法报错后通知public void afterThrowing() {System.out.println(执行报错后增强);}
} 测试
public class MyTest {private UserDao userDao;Testpublic void springs(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(springConfig.xml);userDao applicationContext.getBean(UserDao.class);userDao.save();}
}