当前位置: 首页 > news >正文

石家庄工信部网站备案慈溪网站建设报价

石家庄工信部网站备案,慈溪网站建设报价,四川红叶建设有限公司网站,公司名字大全3个字文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 dependencie… 文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 dependencies!-- 导入Spring的jar包--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.2.1.RELEASE/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.9.4/version/dependency /dependencies2、在beans.xml文件中定义AOP约束 beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:aophttp://www.springframework.org/schema/aopxsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd /beans3、定义记录日志的类【切面】 Component(logger) Aspect // 表示的是一个切面 public class Logger {// 目的在调用业务方法之前进行增强【前置通知】Before(execution(* cn.bdqn.service.impl.*.*(..)))public void beforePrintLog(){System.out.println(前置通知----beforePrintLog---开始打印日志啦);}// 后置通知AfterReturning(execution(* cn.bdqn.service.impl.*.*(..)))public void afterReturningPrintLog(){System.out.println(后置通知----afterReturningPrintLog);} }​ 注意该类的两个细节 a、Component注解向容器中注册一个Bean。 b、Aspect注解表示这个是一个切面类。 c、Before注解表示的是这个是前置增强/前置通知。 4、定义Bean package cn.bdqn.domain;public class User {}package cn.bdqn.service; public interface UserService {// 保存用户public void save(User user); }package cn.bdqn.service.impl; Service(userService) // 向容器中注册Bean public class UserServiceImpl implements UserService {Overridepublic void save(User user) {System.out.println(保存用户啦);} }​ 注意对于业务Bean我们也需要通过Service注解来向容器中注册。 5、在主配置文件中配置扫描的包 beanscontext:component-scan base-packagecn.bdqn/ /beans6、在主配置文件中去开启AOP的注解支持 beansaop:aspectj-autoproxy/ /beans7、测试 public class UserServiceTest {Testpublic void testUserService() throws Exception{ApplicationContext ac new ClassPathXmlApplicationContext(beans.xml);UserService userService (UserService) ac.getBean(userService);userService.queryAll();} }8、优化改进 ​ 问题我们看到对于切面类中定义的通知有一个共性问题是切入点表达式是相同的 那我们在想能否也像xml配置的那样把切入点表达式给抽取出来呢答案是可以的改造如下 Component(logger) Aspect // 表示的是一个切面 public class Logger {Pointcut(execution(* cn.bdqn.service.impl.*.*(..)))private void pt(){}// 目的在调用业务方法之前进行增强【前置通知】Before(pt())public void beforePrintLog(){System.out.println(前置通知----beforePrintLog---开始打印日志啦);}// 演示的后置通知AfterReturning(pt())public void afterReturningPrintLog(){System.out.println(后置通知----afterReturningPrintLog);} }9、总结 配置业务Bean Service(userService) public class UserServiceImpl implements UserService{}配置切面Bean 需要在切面类上定义Aspect // 表示的是一个切面 Component(logger) Aspect // 表示的是一个切面 public class Logger {}在切面类中的通知方法上定义相应的通知 Before 前置通知 AfterReturning后置通知 AfterThrowing: 异常通知 After最终通知 Around: 环绕通知定义切入点表达式 Before(execution(* cn.bdqn.service.impl.*.*(..))) public void beforePrintLog(){System.out.println(前置通知----beforePrintLog---开始打印日志啦); }在主配置文件中去开启AOP的注解 aop:aspectj-autoproxy/
http://www.zqtcl.cn/news/327334/

相关文章:

  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义
  • 网站建设+太原1核1g可以做几个网站
  • 电商设计网站有哪些内容西安百度推广外包
  • 深圳网站建设价格多少做废旧金属的网站
  • wordpress 文档超级优化空间
  • 湖北seo网站推广官方网站怎么制作
  • 随州网站seo诊断wordpress 只显示一个主题
  • 建站登录可信网站认证 费用
  • 互站网站源码用jsp做网站一般会用到什么
  • 个人免费设计网站fomo3d 网站怎么做
  • 菏泽做网站公司公关公司经营范围
  • 钓鱼网站营销型网站建设实战