Spring AOP配置文件引入

使用MyEclipse开发java,我比较喜欢用MyEclispe XML Editor编辑xml文件。曾经用过XmlBuddy(大概是这么个名字吧),感觉他像吹牛~ ~字体很小,提示功能也不十分突出,比MyEclispe XML Editor强的地方是可以自动缩进。所以还是用MyEclispe XML Editor吧。

利用MyEclipse添加Spring2.5的支持库开发AOP的话,虽然引入了AOP的支持包,但是配置文件却不支持AOP配置。Eclipse自动生成的ApplicationContext.xml文件命名空间如下:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
</beans>

为了支持AOP,需要加入spring-aop-2.5.xsd。给文件位于%SPRING_HOME%\dist\resources目录中。这个目录有很多资源文件,根据不同的需要选择添加,我们只需要spring-aop-2.5.xsd。修改后的头部变成了这样:

<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
</beans>

这样Eclipse就支持AOP配置了。配合代码提示键就可以方便开发了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring AOP配置文件主要有两种方式:基于XML配置和基于注解配置。 基于XML配置的方式需要在Spring配置文件引入aop的命名空间,并通过<aop:config>元素来定义切面和通知。具体配置如下: 1. 引入aop的命名空间: ```xml xmlns:aop="http://www.springframework.org/schema/aop" ``` 2. 在<aop:config>中定义切面和通知: ```xml <aop:config> <aop:aspect id="myAspect" ref="myAspectBean"> <aop:pointcut expression="execution(* com.example.MyClass.myMethod(..))" id="myPointcut" /> <aop:before method="beforeAdvice" pointcut-ref="myPointcut" /> <aop:after method="afterAdvice" pointcut-ref="myPointcut" /> </aop:aspect> </aop:config> ``` 其中,id为"myAspect"的元素定义了切面,ref属性指定了切面所对应的Bean。expression属性指定了切点表达式,pointcut-ref属性指定了切点,method属性指定了通知方法。 基于注解配置的方式需要在Spring配置文件中开启注解支持,并在切面类上使用相应的注解进行配置。具体配置如下: 1. 开启注解支持: ```xml <context:annotation-config /> <aop:aspectj-autoproxy /> ``` 2. 在切面类上使用注解进行配置: ```java @Aspect @Component public class MyAspect { @Pointcut("execution(* com.example.MyClass.myMethod(..))") public void myPointcut() {} @Before("myPointcut()") public void beforeAdvice() { // 前置通知的逻辑 } @After("myPointcut()") public void afterAdvice() { // 后置通知的逻辑 } } ``` 其中,@Aspect注解标识该类为切面,@Component注解将该类作为Spring的Bean进行管理。@Pointcut注解定义了切点,@Before注解定义了前置通知方法,@After注解定义了后置通知方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值