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

手机端网站建设广告词/网站后端开发

手机端网站建设广告词,网站后端开发,c 做网站流程,wordpress转githubSpringBoot学习之自定义注解与aop切面的使用,通过使用自定义注解和aop切面来调用service层方法和参数等。一 . 自定义注解类,我们先自定义一个Action注解,代码如下。package com.casking.chcs.modules.test.service;import java.lang.annotat…

SpringBoot学习之自定义注解与aop切面的使用,通过使用自定义注解和aop切面来调用service层方法和参数等。

一 . 自定义注解类,我们先自定义一个@Action注解,代码如下。package com.casking.chcs.modules.test.service;

import java.lang.annotation.Documented;

import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

/**

* 自定义注解(元数据)

* @author Anson

*

*/

@Target(ElementType.METHOD)

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface Action {

String name();

String hello();

}

二 . 在我们自定义的DemoAnnotationService类中(即service层中)使用我们自定义的@Action注解。package com.casking.chcs.modules.test.service;

import org.springframework.stereotype.Service;

@Service

public class DemoAnnotationService {

@Action(name = "注解式拦截的add操作", hello = "hello,我在这")

public void add() {

System.out.println("调用了add方法");

};

}

三 . aop扫描配置类,指定我们的扫描范围为service层下的类,代码如下。package com.casking.chcs.modules.test.service;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.EnableAspectJAutoProxy;

/**

*

* 配置类

* @author Anson

*

*/

@Configuration //注册被spring管理

@ComponentScan("com.casking.chcs.modules.test.service") //指定扫描范围

@EnableAspectJAutoProxy //注解开启对aspectJ的支持

public class AopConfig {

}

四 .aop切面类,通过反射获取我们扫描的信息,如@Action注解上的信息。package com.casking.chcs.modules.test.service;

import java.lang.reflect.Method;

import org.aspectj.lang.JoinPoint;

import org.aspectj.lang.annotation.After;

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Pointcut;

import org.aspectj.lang.reflect.MethodSignature;

import org.springframework.stereotype.Component;

/**

* 编写切面

*

* @author Anson

*

*/

@Aspect // 注解声明一个切面

@Component // 受spring管理的容器

public class LogAspect {

@Pointcut("@annotation(com.casking.chcs.modules.test.service.Action)") // 注解声明切点

public void annotationPointcut() {

};

@After("annotationPointcut()")

public void after(JoinPoint joinPoint) {

MethodSignature methodSignature = (MethodSignature)joinPoint.getSignature();

Method method = methodSignature.getMethod();

Action annotation = method.getAnnotation(Action.class);

System.out.println("注解式拦截 : " + annotation.name());

System.out.println("????: " + annotation.hello());

}

}

一 .容器启动类package com.casking.chcs.modules.test.web;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.casking.chcs.modules.test.service.AopConfig;

import com.casking.chcs.modules.test.service.DemoAnnotationService;

public class Main {

public static void main(String[] args) {

//初始化容器

AnnotationConfigApplicationContext countext = new

AnnotationConfigApplicationContext(AopConfig.class);

//获得Bean

DemoAnnotationService bean = countext.getBean(DemoAnnotationService.class);

//调用方法

bean.add();

countext.close();

}

}

六 . 输出结果

284f4830969b6e04f7dd69596aa0e7b9.png

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/181.html

http://www.lbrq.cn/news/935173.html

相关文章:

  • 芜湖做网站多少钱/网站数据分析案例
  • 珠海网站建设 金碟/企业网站设计欣赏
  • 公司域名注册流程/seo排名点击工具
  • 苏州网站建设丶好先生科技/百度搜索简洁版网址
  • 深度科技有限公司/网站搜索引擎优化主要方法
  • 装修行业 网站建设/杭州小程序建设公司
  • cc0图片素材网站/seo网站关键词排名优化公司
  • 培训网站模板免费/百度账号
  • 搜狗推广开户/哈尔滨seo推广
  • 房子设计效果图大全/单页站好做seo吗
  • 上海网站推广专员需求/黄页网络的推广软件
  • 沭阳那家做网站的/今日军事新闻视频
  • 网站建设一屏式网站/淘客推广
  • 成都科技网站建设联系电话/seo收费标准
  • 雄安专业网站建设哪家好/网络营销推广策划
  • 广州网站建设网络推广公司/网络营销人员招聘
  • wordpress 清理/安卓优化大师历史版本
  • 信阳建设网站/交换友情链接的渠道
  • 亚网站建设/千博企业网站管理系统
  • 安宁市建设厅网站/网站搜索引擎优化技术
  • 通州网站建设/企业网络营销策略分析
  • wordpress不显示引用图片/网站优化seo是什么
  • 南通网站建设知识/百度网盘云资源搜索引擎
  • 广州有哪些建站公司/新网站应该怎么做seo
  • 怎么做网站动态地图/最近的国际新闻大事
  • wordpress上传exe/苏州百度 seo
  • 鲅鱼圈网站怎么做/长沙网站开发制作
  • 如何建立公司企业网站/常德政府网站市民留言
  • wordpress 显示加载时间/seo网站优化外包
  • java门户网站开发/谷歌官网网址
  • VS Code中如何关闭Github Copilot
  • 让科技之光,温暖银龄岁月——智绅科技“智慧养老进社区”星城国际站温情纪实
  • YOLOv5u:无锚点检测的革命性进步
  • 数据库02 网页html01 day44
  • 26考研英语词汇的逻辑笔记(Unit31-43)
  • 图片上传 el+node后端+数据库