【Spring AOP】切点表达式配置出错

报错信息:pointcut is not well-formed:expecting ‘name pattern’ at character position 42

出错原因:applicationContext.xml里关于AOP切点表达式的配置出错

	//这是最终的,也是正确的配置方式
	<!-- 目标对象 -->					
	<bean id="userService" class="com.tcx.service.UserServiceImpl" />
	<!-- 通知对象 -->
	<bean id="myAdvice" class="com.tcx.aop.MyAdvice" />
	
	<!-- 使用AOP配置元素声明userService切面 -->
	<aop:config>
		<!-- 切入点 -->
		//出错原因:将expression配置成execution(*com.tcx.service.*ServiceImpl.*(..))
		//在*与com中需要有一个空格,*代替的是修饰符和返回值,下面的配置才是正确的
		<aop:pointcut id="servicePc" expression="execution(* com.tcx.service.*ServiceImpl.*(..))" />
		<!-- 切面 通知+切入点-->
		<aop:aspect ref="myAdvice">
			<aop:before pointcut-ref="servicePc" method="before"/>
			<aop:after pointcut-ref="servicePc" method="after"/>
			<aop:after-returning pointcut-ref="servicePc" method="afterReturning" />
			<aop:after-throwing pointcut-ref="servicePc" method="afterThrowing" />
			<aop:around pointcut-ref="servicePc" method="around" />
		</aop:aspect>
	</aop:config>
	

因为没注意到这点,浪费了不少时间,所以写文记录一下,感谢阅读。

你可能感兴趣的:(框架,java,aop,spring)