博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven下搭建注解形式的Spring aop
阅读量:4079 次
发布时间:2019-05-25

本文共 3265 字,大约阅读时间需要 10 分钟。

目录结构如下:

pom.xml文件内容如下:

4.0.0
cn.sigangjun.architecture
spring_aop
war
0.0.1-SNAPSHOT
spring_aop Maven Webapp
http://maven.apache.org
org.springframework
spring-core
3.0.5.RELEASE
org.springframework
spring-context
3.0.5.RELEASE
org.springframework
spring-beans
3.0.5.RELEASE
org.springframework
spring-test
3.0.5.RELEASE
org.aspectj
aspectjrt
1.6.11
org.aspectj
aspectjweaver
1.6.11
cglib
cglib
2.1
junit
junit
4.10
test
spring_aop

在src/main/java下新建包cn.sigangjun.spring.aop,并在该包下创建如下文件:

MyAdvice.java

package cn.sigangjun.spring.aop;import org.aspectj.lang.ProceedingJoinPoint;//定义通知public class MyAdvice {	// before通知方法	public void beforeShow() {		System.out.println(getClass().toString() + " before show");	}	// after通知方法	public void afterShow() {		System.out.println(getClass().toString() + " after show");	}	// afterReturn通知方法	public void afterReturnShow() {		System.out.println(getClass().toString() + " afterReturn show");	}	// afterThrowing通知方法	public void afterThrowingShow() {		System.out.println(getClass().toString() + " afterThrowing show");	}	// around通知方法	public void aroundShow(ProceedingJoinPoint jpoint) {		try {			System.out.println(getClass().toString() + " around before show");			// 执行目标对象的连接点处的方法			jpoint.proceed();			System.out.println(getClass().toString() + " around after show");		} catch (Throwable e) {			System.out.println(getClass().toString() + " around afterThrowing show");		}	}}
MyService.java

package cn.sigangjun.spring.aop;public class MyService {	public void show() {		System.out.println(getClass().toString() + " show Hello World!");	}}
在src/java/resources下创建spring-aop.xml文件

在src/test/java下创建测试文件MyTest.java

import static org.junit.Assert.assertTrue;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import cn.sigangjun.spring.aop.MyService;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = { "classpath:spring-aop.xml"})public class MyTest {	@Autowired	private MyService myService;	@Test	public void testService() {		myService.show();		assertTrue(true);	}}

你可能感兴趣的文章
电机和桨叶要搭配选择
查看>>
STM32cube我还是喜欢这种视频教程
查看>>
弄ROS可以不用装双系统或者买一台电脑啥的, 可以直接U盘启动
查看>>
现在智能车赛开始用ROS和SLAM了!
查看>>
gazebo是可以仿真PX4的
查看>>
我印象中记得protues仿真和真实是有些地方有差异的
查看>>
你得把一个东西玩烂,别人才会给你机会做那方面的开发
查看>>
PX4中的offboard模式能够接受来自外部的控制指令,搭配机载或支持MAVROS的协同计算机,可在PX4飞控平台上加入视觉处理或人工智能,以实现无人机自动控制功能。
查看>>
使用 GAAS 快速的搭建 Gazebo 仿真模拟器,并且使用 Offboard 控制无人机飞行。
查看>>
[PX4]mavros安装+offboard控制过程记录
查看>>
我现在可以感受到 PX4+gazebo+MAVROS+offboard是标配。看来很多人已经这么做了
查看>>
Drone就是无人机的意思
查看>>
发现一个新的讲APM飞控二次开发的课
查看>>
多做(题/项目)
查看>>
Pixhawk指示灯和蜂鸣器含义
查看>>
Pixhawk指示灯介绍
查看>>
Ardupilot 似乎就是APM
查看>>
我在华清的嵌入式课程笔记(至2020.7.5)
查看>>
现在TB上很多提供SMT贴片服务了,可能就不用自己手工贴片了。
查看>>
APM(pixhawk)飞控疑难杂症解决方法汇总
查看>>