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

怎么把asp网站改成php东莞企业黄页资料

怎么把asp网站改成php,东莞企业黄页资料,wordpress不同背景,网站开发什么意思前言#xff1a;本文不介绍 AOP 的基本概念、动态代理方式实现 AOP#xff0c;以及 Spring 框架去实现 AOP。本文重点介绍 Spring Boot 项目中如何使用 AOP#xff0c;也就是实际项目开发中如何使用 AOP 去实现相关功能。 如果有需要了解 AOP 的概念、动态代理实现 AOP 的本文不介绍 AOP 的基本概念、动态代理方式实现 AOP以及 Spring 框架去实现 AOP。本文重点介绍 Spring Boot 项目中如何使用 AOP也就是实际项目开发中如何使用 AOP 去实现相关功能。 如果有需要了解 AOP 的概念、动态代理实现 AOP 的请查看我的另外一篇文章 一篇文章带你深入了解 AOP 正文开始 Spring Boot中实际应用AOP 1、之前介绍的实现 AOP 的方式中是有 XML 文件设置。但在 Spring Boot 中没有 XML 文件那怎么设置 AOP 2、实际应用中MVC三层架构现需要在控制器中统一进行日志的输出有各种各样的控制器那怎么实现也就是说实际应用中如何实现 1、Cal 接口、CalIml 接口实现类 还是跟 Spring框架实现AOP 中一样。之前的两个依赖不要添加这个依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency2、控制器中需要打印日志比如调控制器中的哪个方法接口、方法有哪些参数、返回值。当然你肯定可以在每个方法中写但显然这不现实。这里用 AOP 方法将打印日志抽离出来然后需要的时候嵌入到每个方法中 //以下代码仅是为了测试代码不规范请注意。RestController RequestMapping(/aop) public class AopSpringBootTestHandler {GetMapping(/findAll)public ListAccount findAll() {return Arrays.asList(new Account(1, 张三, 25), new Account(2, 李四, 26));}GetMapping(/findById/{id})public Account findById(PathVariable Integer id) {return new Account(1, 张三, 25);}GetMapping(/add)public boolean add() {return true;}GetMapping(/update)public boolean update() {return true;}GetMapping(/delete/{id})public boolean delete(PathVariable Integer id) {return true;} }自定义注解 3、自定义注解比如创建一个 annotation 的包然后创建一个 LogAnnotation可自定义比如这里是打印日志的注解 为什么要这个自定义注解---- 首先你要让 AOP 知道你调了哪些方、哪些方法需要让 AOP 进行处理所以就要让 AOP 知道这些方法怎么知道 ---- 通过自定义注解 其次并不是所有的方法都需要进行 AOP 处理所以通过 注解 标记。 Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented public interface LogAnnotation {//使用注解时给注解中添加值String value() default ; }说明Target、Retention、Documented 都是元注解描述注解的注解 Target 表示该注解的使用目标其中 Target(ElementType.METHOD) 表示只能使用在方法上 Retention(RetentionPolicy.RUNTIME) 表示在运行时使用该注解。 interface 标志这是一个注解。 String value() default ; 固定写法表示在使用注解的时候可以添加值默认为空 **使用自定义注解**需要进行 AOP 处理的方法标记即可 4、标记完后同理需要切面类执行非业务代码比如这里是输出日志 Component Aspect public class CreateAspectUtil {/*我们利用自定义注解标记了哪些方法需要进行AOP处理那真正需要处理的时候怎么找到这些标记通过 Pointcut切入点找到这些标记所以这个方法就是为了找到标记必须是空方法体*/Pointcut(annotation(com.example.test.aopspringboottest.annotation.LogAnnotation))public void logPointCut() {}/*找到标记后怎么执行日志1、跟之前一样有Before前置通知、After后置通知等等Around注解就是将各种通知统一到一起然后将找标记的方法放进去2、连接点 ProceedingJoinPoint 是 joinPoint 的子接口只是ProceedingJoinPoint中有这个proceed()方法为了获取方法的返回值*/Around(logPointCut())public Object around(ProceedingJoinPoint joinPoint) throws Throwable {String methodName joinPoint.getSignature().getName();String methodArgs Arrays.toString(joinPoint.getArgs());System.out.println(methodName 方法的参数是 methodArgs);return joinPoint.proceed(); //返回目标方法也就是业务代码中的返回值} }演示 启动启动类后直接访问 没加标记的就不会打印日志。 注意现在还要求输出自定义注解中的值 怎么办---- 通过反射获取注解即可 既然获取注解注解是添加在方法上的所以先通过反射获取方法怎么获取---- 只有一个连接点所以还是通过连接点 Around(logPointcut()) public Object around(ProceedingJointPoint jointPoint) throws Throwable {//通过连接点获取到方法的签名MethodSignature methodSignature (MethodSignature)joinPoint.getSignature();//通过方法签名获取到方法Method method methodSignature.getMethod();//拿到方法后拿注解把自定义注解的运行时类给它LogAnnotation annotation method.getAnnotation(LogAnnotation.class);if (annotation ! null) {//拿注解中的值通过里面的value方法String value annotation.value();//这个value就是注解里面的内容System.out.println(value);} }
http://www.pierceye.com/news/879547/

相关文章:

  • ac域名网站邯郸中国建设银行网站
  • 广州seo网站开发微信营销的优势
  • 宝塔可以做二级域名网站么有哪些好的做兼职网站
  • 网站建设公司落寞特殊符号网名生成器
  • 设计分享网站在闲鱼可以做网站吗
  • 安全等级保护每个网站必须做吗实惠的网站建设公司
  • vue可以做pc端网站山东专业企业网站建设
  • 推广网站软文高中网站制作
  • 做h的动漫在线观看网站安阳市有几个区几个县
  • 帝国cms地方门户网站模板怀集县住房和城乡规划建设网站
  • 河北住房建设厅网站首页怎么自己建设网站
  • 政务网站建设及安全下载app赚钱的平台
  • 如何制作一个论坛网站都江堰建设局网站
  • 网站建设seo优化浙江广17网站一起做网店
  • WordPress子站站群优化教程网站推广排名
  • 毕设做购物网站容易吗网上商城是什么意思
  • 1688阿里巴巴官方网站杭州网站建设seo
  • 建设网站选什么地方的主机网站上漂亮的甘特图是怎么做的
  • 用什么软件来建网站立创电子元器件商城官网
  • 做视频网站成本如何定制微信小程序
  • 南宁市有哪些做网站的外包企业青州网站建设公司
  • 网站排名点击中国建筑是国企还是央企
  • 广告联盟的网站怎么做太仓苏州网站建设
  • 杭州 seo网站建设 网络服务包头企业网站
  • 网站导航字体企业网站建设及维护
  • 买东西网站产品设计网张
  • 国外有哪些设计网站嵌入式软件开发工具有哪些
  • 做网站推广的销售电话开场白wordpress小工具插件
  • 简单网站建设公司flashfxp上传wordpress
  • 网站建设策划包括哪些内容展馆设计图