java aop xml配置_spring-AOP使用xml配置

介绍 spring AOP 使用xml配置

关键代码:

详细:

ArithmeticCalculator.javapackage com.shuoeasy.test;

/**

* 定义计算器接口

*

*/

public interface ArithmeticCalculator {

double add(double num1, double num2);

double sub(double num1, double num2);

double mul(double num1, double num2);

double div(int num1, int num2);

}

ArithmeticCalculatorImpl.java:package com.shuoeasy.test;

/**

* 业务类

*/

public class ArithmeticCalculatorImpl implements ArithmeticCalculator{

public double add(double num1, double num2) {

double result = num1 + num2;

return result;

}

public double sub(double num1, double num2) {

double result = num1 - num2;

return result;

}

public double mul(double num1, double num2) {

double result = num1 * num2;

return result;

}

public double div(int num1, int num2) {

double result = num1 / num2;

return result;

}

}

LogAspect.java:package com.shuoeasy.test;

import org.aspectj.lang.JoinPoint;

import org.aspectj.lang.ProceedingJoinPoint;

public class LogAspect {

public void beforeMethod(JoinPoint joinPoint){

System.out.println("日志-前置通知");

}

public void alterMethod(JoinPoint joinPoint){

System.out.println("日志-后置通知");

}

public void afterReturning(JoinPoint joinPoint, Object result){

System.out.println("日志-返回通知");

}

public void afterThrowing(JoinPoint joinPoint, Exception ex){

System.out.println("日志-异常通知");

}

public Object aroundMethod(ProceedingJoinPoint pjd){

System.out.println("日志-环绕通知");

return 100.0;

}

}

VerificationAspect.java:package com.shuoeasy.test;

import org.aspectj.lang.JoinPoint;

// 验证类

public class VerificationAspect {

public void beforeMethod(JoinPoint joinPoint){

System.out.println("验证-前置通知");

}

}

bean.xml:<?xml  version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">

Main.java:package com.shuoeasy.test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

public static void main(String[] args) {

// 1.创建spring的IOC容器

ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");

// 2.从IOC容器中获取bean的实例

ArithmeticCalculator arithmeticCalulator = (ArithmeticCalculator)ctx.getBean("arithmeticCalculator");

// 3.使用bean

double result = arithmeticCalulator.add(2, 3);

System.out.println("result=" + result);

}

}

输出:验证-前置通知

日志-前置通知

日志-环绕通知

日志-返回通知

日志-后置通知

result=100.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值