У меня есть интерфейс для доступа к MongoDB:
public interface MyDataDBRepository extends MongoRepository<MyData, String>;
с некоторыми запросами внутри.Я хотел бы добавить logs / debug info, когда вызывается метод .save по умолчанию.
На данный момент я добавил метод "default" внутри:
public default void saveAndLog(MyData d){
if (true){
....logs...
}
this.save(d)
}
и заменил всехранилище.save (d) в хранилище.saveAndLog (d).Это работает.
Но я хотел бы использовать параметризованное значение, чтобы решить, будет ли журнал или нет (заменив 'если true').
Но используя @Value
внутри интерфейса в Javaкажется невозможным, потому что Java Interface не хранит другие переменные, кроме static final, и я не могу заставить Spring @Value
работать с интерфейсом.
Любые другие возможные идеи, я считаю, что это будет использовать Spring Aspect или InterceptorsНо я не очень много знаю о них.Кроме того, если бы они работали с интерфейсами ...
Есть идеи?Извините, если мой вопрос глуп.Спасибо