`

spring配置之aop pointcut

 
阅读更多

 

报错

 

严重: Allocate exception for servlet SpringMVC
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.hnu.peoplesystem.customer.dao.CustomerMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

 应该是事务配置到其他地方去了

比如我的

<aop:pointcut id="allServiceOperations" expression="execution(* com.hnu.peoplesystem.*.service..*Service*.*(..))" />

 下面是在网上搜的解释:

先来看看这个spring的配置文件的配置:

 

  <!-- 事务管理器 -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>


 <!-- 配置事务的传播特性 -->
 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <tx:method name="get*" propagation="REQUIRED" read-only="true" />
   <tx:method name="del*" propagation="REQUIRED" />
   <tx:method name="save*" propagation="REQUIRED" />
   <tx:method name="update*" propagation="REQUIRED" />
  </tx:attributes>
 </tx:advice>


 <!-- 配置事务拦截器拦截哪些类的哪些方法,一般设置成拦截Service -->
 <aop:config>
  <aop:pointcut expression="execution(* com.xy.service.*.*(..))"
   id="allDaoMethod" />
  <aop:advisor advice-ref="txAdvice" pointcut-ref="allDaoMethod" />
 </aop:config>


表示com.xy.service包下的所有方法为为事务管理。

 

execution(* com.aptech.jb.epet.dao.hibimpl.*.*(..)) 

 

这样写应该就可以了 这是com.aptech.jb.epet.dao.hibimpl 包下所有的类的所有方法。。

第一个*代表所有的返回值类型 

第二个*代表所有的类

第三个*代表类所有方法 最后一个..代表所有的参数。

 

 

下面给出一些常见切入点表达式的例子:

  • 任意公共方法的执行:

    execution(public * *(..))
    
  • 任何一个以“set”开始的方法的执行:

    execution(* set*(..))
    
  • AccountService 接口的任意方法的执行:

    execution(* com.xyz.service.AccountService.*(..))
    
  • 定义在service包里的任意方法的执行:

    execution(* com.xyz.service.*.*(..))
    
  • 定义在service包或者子包里的任意类的任意方法的执行:

    execution(* com.xyz.service..*.*(..))
    
分享到:
评论

相关推荐

    使用Spring配置文件实现AOP

    这篇教程将详细讲解如何通过Spring的配置文件来实现AOP。 一、理解AOP概念 AOP的核心思想是将分散在各个模块中的交叉性代码(如日志、事务处理)抽取出来,形成独立的切面,以便于复用和维护。它提供了一种模块化的...

    Spring AOP Example – Pointcut , Advisor

    本篇文章将详细讲解Spring AOP的实例,包括Pointcut和Advisor两个关键概念,同时结合源码和工具进行深入探讨。 首先,让我们了解什么是Spring AOP。AOP(Aspect-Oriented Programming)是一种编程范式,它允许...

    spring-boot aop

    Spring Boot AOP(面向切面编程)是一种强大的设计模式,它允许我们在不修改现有代码的情况下,插入额外的功能或监控代码。在Spring框架中,AOP主要用于日志记录、事务管理、性能统计等场景。本示例是关于如何在...

    Spring中的AOP不生效

    1. **确认是否正确配置了AOP切面**:检查AOP配置文件或类中的所有配置项是否设置正确,包括切入点表达式(Pointcut)、通知类型(Advice)等。 2. **检查Service类是否被Spring管理**:确保受影响的Service类已经...

    springIOC与AOP配置

    在本文中,我们将深入探讨Spring的IOC容器和AOP的核心概念,以及如何进行相关配置。 **依赖注入(IOC)** 依赖注入(Inversion of Control,简称IOC)是Spring框架的核心特性之一,它的主要目标是降低组件之间的...

    Spring.net(AOP通过配置文件配置)

    **Spring.NET AOP 通过配置文件配置** Spring.NET 是一个开源的 .NET 框架,它提供了依赖注入(DI)和面向切面编程(AOP)的能力。在本篇内容中,我们将深入探讨如何使用配置文件来设置 Spring.NET 的 AOP 功能。 ...

    死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序.pdf

    `AbstractAutoProxyCreator` 会查找 Spring 上下文中的 `Advisor`(顾问),每个 `Advisor` 包含一个 `Advice`(通知)和一个 `Pointcut`(切点)。通过匹配切点,找出适用于目标 Bean 的 `Advisor`,然后根据代理...

    Spring实现AOP的多种方式 切点函数

    里面包括4个例子:(1)Spring实现AOP方式之一:基于XML配置的Spring AOP (2)Spring实现AOP方式之二:使用注解配置 Spring AOP (3)Spring AOP : AspectJ Pointcut 切点 (4)Spring AOP : Advice 声明 (通知注解)

    spring-aop-jar

    "spring-aop-jar"这个主题涉及到Spring框架中的核心组件之一——Spring AOP。这里我们将深入探讨Spring AOP、相关jar文件以及它们在实际开发中的作用。 首先,我们来看一下提供的文件: 1. aopalliance.jar:这是一...

    @AspectJ配置Spring AOP,demo

    `springAOP2`可能是一个包含具体示例代码的目录。`基于@AspectJ配置Spring AOP之一 - 飞扬部落编程仓库-专注编程,网站,专业技术.htm`和其关联的`_files`目录可能包含了一个详细的教程或演示如何配置和运行@AspectJ的...

    spring 配置aop时需要的jar包

    2. 开启AOP代理:在Spring配置文件中,通过`&lt;aop:config&gt;`标签开启AOP支持,并可以定义切入点表达式(pointcut expression)和通知类型。 3. 定义切面:你可以使用Spring的`@Aspect`注解来定义一个切面类,然后在类...

    Spring_AOP_学习小结 Spring_AOP_学习小结 Spring_AOP_学习小结

    Spring AOP,即面向切面编程,是Spring框架的核心组件之一,它允许程序员在不修改原有业务代码的情况下,对程序进行功能增强。本篇文章将详细阐述Spring AOP的基本概念、种类、代理原理、通知类型以及切入点,帮助你...

    springAop的配置实现

    **Spring AOP 配置实现详解** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它允许我们通过分离关注点来简化应用程序的开发。在传统的面向对象编程中,业务逻辑与日志记录...

    spring aop spring aop

    在给出的XML配置中,`&lt;aop:config&gt;`元素开启AOP支持,而`&lt;aop:aspect&gt;`元素用于定义切面,其内部通过`&lt;aop:pointcut&gt;`定义切点,并通过`&lt;aop:before&gt;`和`&lt;aop:after&gt;`指定通知。 为了使用这些配置,我们需要在代码...

    Spring 2.5 AOP 例子

    在AOP的上下文中,XML配置可以定义切面、通知(Advice)、切点(Pointcut)以及代理类型(Proxy Type)。以下是一些关键元素: 1. `&lt;aop:config&gt;`:这是AOP配置的根元素。 2. `&lt;aop:aspect&gt;`:定义一个切面,可以...

    org.springframework.aop

    在Spring框架中,AOP(Aspect Oriented Programming,面向切面编程)是其核心特性之一,它允许开发者将关注点从主业务逻辑中分离出来,如日志、事务管理等,形成独立的切面,实现代码的解耦和模块化。本篇将深入探讨...

    spring ioc和aop原理流程图(详细)

    Spring 框架是Java开发中的核心框架,它主要由两个关键部分组成:IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。这两个概念是Spring框架的核心特性,极大地简化了企业...

    Spring之AOP介绍

    ### Spring之AOP介绍 #### 一、AOP概述 面向方面编程(Aspect-Oriented Programming,简称AOP)作为一种编程范式,旨在通过模块化的方式处理横切关注点(Cross-cutting Concerns)。传统的面向对象编程(OOP)虽然...

    spring 2.0使用AOP实例(基于Annotation的配置方式)

    Spring 2.0引入了基于注解的AOP配置,极大地简化了AOP的使用。这篇博客文章将探讨如何在Spring 2.0中使用AOP实例,特别是通过注解来实现。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了...

Global site tag (gtag.js) - Google Analytics