Я думаю, что первый шаг, который вам нужно сделать, это получить книгу и понять основы паттерна Observer. Я предлагаю вам взглянуть на Head First Design Pattern, отличную книгу для начинающих разработчиков, которой не хватает опыта проектирования.
После того, как у вас появятся базовые знания об этом, вы можете рассмотреть возможность использования Java Observer / Observable, связанных вручную интерфейсов или использование Spring Application Application. (Но просто бессмысленно просить людей научить вас всей схеме здесь, это то, что вам нужно прочитать, прежде чем спрашивать)
(И, честно говоря, это действительно очень плохая идея - плести вашу логику с помощью АОП, как вы упомянули, это не только сложно поддерживать, но и злоупотребляет АОП способом, который не подходит)