AOP-aspectJ implementa la notificación de excepción

Clase de notificación de excepción

public class MyThrowAdvice {
    
    
	public void MyThrow(Exception e) {
    
    
		System.out.println("throw Exception"+e.getMessage());
	}
}

Tipo de demostración

Escriba un 5/0 en el método Demo1, deje que informe una excepción

public class Demo {
    
    
	public void Demo1(){
    
    
		int i=5/0;
		System.out.println("demo1");
	}
	public void Demo2(){
    
    
		System.out.println("demo2");
	}
	public void Demo3(){
    
    
		System.out.println("demo3");
	}
	
}

applicationContext.xml parte del código

  • Las excepciones solo se pueden lograr mediante el aspectoJ
  • Necesito escribir en la etiqueta de aspecto
  • Al igual que las basadas en esquemas, existen etiquetas de corte puntual, etiquetas de corte puntual, etiquetas de notificación y beans con etiquetas de notificación introducidas por ref.
<bean id="mythrow" class="cn.wit.advice.MyThrowAdvice"> </bean>
	<aop:config>
		<aop:aspect ref="mythrow"> 
			<aop:pointcut expression="execution(* cn.wit.test.Demo.Demo1())" id="mypoint"/>
			<aop:after-throwing method="MyThrow" pointcut-ref="mypoint" throwing="e"/>
		</aop:aspect>	
	</aop:config>    
    
<bean id="demo" class="cn.wit.test.Demo"></bean>

prueba

	public class Test {
    
    
		public static void main(String[] args) {
    
    
			ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
			Demo demo = ac.getBean("demo",Demo.class);
			try {
    
    
				demo.Demo1();
			} catch (Exception e) {
    
    
			} 
		}
}

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/WA_MC/article/details/112557760
Recomendado
Clasificación