|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
2、声明一个切面
在基于AOP定名空间的SpringAOP中,要声明一个切面,必要利用<aop:config/>的子标签<aop:aspect>。<aop:aspect>标签有一个ref属性必需被赋值,它用于指定和该切面联系关系的受管Bean(backingbean,今后我们都将利用BackingBean来称号如许的Bean)。正以下例所示,该Bean对应的java类是一个一般的java类,在该类中界说了切面的关照办法。别的,<aop:aspect>标签还有两个可选的order属性和id属性,order属性用于指定该切面的加载按次,id属性用于标识该切面。典范以下:
代码
<?xmlversion="1.0"encoding="UTF-8"?>
<beans……>
<beanid="MyAspect"class="aop.test.MyAspect"/>
<aop:configproxy-target-class="true">
<aop:aspectref="MyAspect"order="1"id="TestAspectName">
……切面其他设置
</aop:aspect>
</aop:config>
……其他设置
</beans>
3、声明一个切进点
要声明一个切进点,可使用<aop:aspect>的子标签<aop:pointcut>,在Spring2.5中它有两个属性id和expression,分离用于标示该切进点和设定该切进点表达式。比方:
代码
<?xmlversion="1.0"encoding="UTF-8"?>
<beans……>
<beanid="MyAspect"class="aop.test.MyAspect"/>
<aop:configproxy-target-class="true">
<aop:aspectref="MyAspect"order="1"id=”TestAspectName”>
<aop:pointcutid="test"
expression="execution(*aop.test.TestBean.*(..))"/>
<aop:beforepointcut="aop.test.MyAspect.Pointcut1()"
method="beforeAdvice"/>
</aop:aspect>
</aop:config>
……其他设置
</beans>
aop:pointcut>标签的expression属性利用后面先容的切进点表达式言语,也就是说撑持AspectJ切进点表达式。可是因为xml对"&&"、"||"、"!"等逻辑运算符不友爱,@AspectJ切进点表达式言语中利用的这些逻辑运算符在xml设置中必要分离用"and"、"or"和"not"来取代。
偶然候,我们也必要在xml中利用@Pointcut注解声明的切进点,那末该怎样呢?人人大概记得,我们能够在切进点表达式中能够援用另外一个切进点。对了,就在这里,我们利用该特征能够完成这个义务,如下:
代码
<aop:pointcutid="test"expression="aop.test.MyAspect.Pointcut1()"/>
注重:这里我们必需利用全路径来标示援用的切进点。
<p>
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。 |
|