SpringbootAOP的入门程序
1、SpringbootAOP的入门
1、添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2、写serivce代码
public interface IUserService {
void save();
void delete();
}
@service
public class UserServiceImpl implements IUserService {
@Override
public void save() {
System.out.println("UserServiceImpl.save");
}
@Override
public void delete() {
System.out.println("UserServiceImpl.delete");
}
}
3、springAOP 封装了 jdk 和cglib的代理操作、只需要写切面类 、通知、连接点就可以、其他的都是spring帮我们完成
3、1 添加切面类型
@Aspect //定义切面类
public class LogAspect {
}
3、2 定义通知
@Before()
public void before(){
System.out.println("[1 前置通知:执行目标对象方法之前执行]");
}
@Around("pt()")
public Object around(ProceedingJoinPoint joinPoint){
Object result = null;
try {
result = joinPoint.proceed();
} catch (Throwable e) {
throw new RuntimeException(e);
}
System.out.println("环绕通知.....2");
return result;
}
3、3 切点
@Pointcut("execution(* com.wn.service.impl.UserServiceImpl.save())")
public void pt() {
}
3、4 通知和切点进行绑定
@Before(value = "pt()") // 通知和切点进行绑定
public void before(){
System.out.println("[1 前置通知:执行目标对象方法之前执行]");
}
3、5 把切面添加到ioc容器中
@Component
@Aspect
public class LogAspect {
}
4、进行代码测试
@SpringBootTest
public class SpringAopTest {
@Autowired
private IUserService iUserService;
@Test
public void demo01(){
iUserService.save();
}
}
原文地址:https://blog.csdn.net/hekai7217/article/details/140213216
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!