java中的静态方法能否进行切面编程?

Python018

java中的静态方法能否进行切面编程?,第1张

aop的事务代理机制最重要的放心是确定切入点,面,通知.具体看代码,下面是在spring中配置的我自己写的一个异常处理的aop作用类 ,该配置切入面在于在controller包下的所有类的所有注解为aspect的切面类,通知类型为表示在目标方法之前切入,切入点为controller包下的所有类所有方法.至于楼主所说的静态方法对于事务机制应该没什么区别吧,只要用within方法一样可以的

<!-- 定义共同处理组件 -->

<bean id="loggerBean"

class="org.tedu.cloudnote.aspect.LoggerBean">

</bean>

<!-- 将loggerBean组件切入到Controller方法上 -->

<aop:config>

<!-- 要切入哪个共同处理组件,ref指定共同组件id值 -->

<aop:aspect ref="loggerBean">

<!-- aop:before表示在目标方法之前切入,

method指定方法名pointcut指定目标组件 -->

<aop:before method="logController"

pointcut="within(org.tedu.cloudnote.controller..*)"/>

</aop:aspect>

JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。

Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。

Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,在运行时调用任意一个对象的方法,生成动态代理。

扩展资料:

JAVA中反射实例:

1、Class superClass=clazz.getSuperclass()//获取父类。

System.out.println("getSuperclass:"+superClass)。   

2、Class[] interfaces=clazz.getInterfaces()//获取实现接口。

System.out.println("getInterfaces:"+interfaces.length)。

3、Constructor[] cons=clazz.getConstructors()//构造方法。

System.out.println("getConstructors:"+cons.length)。

参考资料来源:百度百科: JAVA反射机制