| src/main/java/de/gedoplan/seminar/sbt/di/exercise/aop/Counted.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/aop/MethodCounter.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie |
src/main/java/de/gedoplan/seminar/sbt/di/exercise/aop/Counted.java
Neue Datei @@ -0,0 +1,11 @@ package de.gedoplan.seminar.sbt.di.exercise.aop; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Counted { } src/main/java/de/gedoplan/seminar/sbt/di/exercise/aop/MethodCounter.java
@@ -1,5 +1,8 @@ package de.gedoplan.seminar.sbt.di.exercise.aop; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; import java.util.Map; @@ -8,6 +11,7 @@ import java.util.concurrent.atomic.LongAdder; import java.util.stream.Collectors; @Aspect @Component public class MethodCounter { @@ -24,4 +28,9 @@ .collect(Collectors.toMap(Map.Entry::getKey,e -> e.getValue().longValue())); } @AfterReturning("@annotation(Counted)") protected void count(JoinPoint joinPoint) { increase(joinPoint.getSignature().getName()); } } src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailServiceImpl.java
@@ -1,5 +1,6 @@ package de.gedoplan.seminar.sbt.di.exercise.service; import de.gedoplan.seminar.sbt.di.exercise.aop.Counted; import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail; import de.gedoplan.seminar.sbt.di.exercise.repository.CocktailRepository; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -20,6 +21,7 @@ this.filters = filters; } @Counted @Override public List<Cocktail> findAll() { return cocktailRepository.findAll().stream()