2017-11-02 4 views
1

Ich habe einen Aspekt mit einem pointcut in allen RestController kommentierten Controller:Frühling AOP Versagen beim Start: NoSuchMethodError: org.springframework.core.annotation.OrderUtils.getOrder

@Aspect 
@Component 
public class ControllerLoggingAspect { 
    Logger log = LoggerFactory.getLogger(this.getClass()); 

    @Pointcut("within(@org.springframework.web.bind.annotation.RestController *)") 
    public void controller() { 
    } 

    @Before("controller()") 
    public void logBefore(JoinPoint joinPoint) { 
     log.info("START REST CONTROLLER"); 
    } 

    @After("controller()") 
    public void logAfter(JoinPoint joinPoint) { 
     log.info("END REST CONTROLLER"); 
    } 
} 

pom Abhängigkeiten:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aop</artifactId> 
    <version>5.0.1.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjweaver</artifactId> 
    <version>1.8.12</version> 
</dependency> 
<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjrt</artifactId> 
    <version>1.7.3</version> 
</dependency> 

bekomme ich folgende Fehler im Protokoll: NoSuchMethodError: org.springframework.core.annotation.OrderUtils.getOrder

ich kann bestätigen, dass ich tun, um die OrderUtils Klasse mit der getOrder Methode in meinem Projekt.

Wenn ich die annotierten Methoden @Before und @After entferne, startet Spring ohne Fehler.

Hat jemand eine Idee, was ich vermisse?

Antwort

0

Stellt sich heraus meine Versionen zwischen meinen spring-aop und spring-core Abhängigkeiten unterschieden. Sie zu beheben, damit AOP wie erwartet funktioniert.

Verwandte Themen