Одним из ключевых компонентов Spring Framework является среда аспектно-ориентированного программирования (AOP) . Аспектно-ориентированное программирование влечет за собой разделение логики программы на отдельные части, называемые так называемыми проблемами . Функции, охватывающие несколько точек приложения, называются сквозными задачами. Эти сквозные проблемы концептуально отделены от бизнес-логики приложения. Существуют различные общие хорошие примеры таких аспектов, как ведение журнала, аудит, декларативные транзакции, безопасность, кэширование и т. Д.
Ключевой единицей модульности в ООП является класс, тогда как в АОП единицей модульности является аспект. Внедрение зависимостей помогает вам отделить ваши прикладные объекты друг от друга, в то время как AOP помогает вам отделить сквозные задачи от объектов, на которые они влияют. AOP подобен триггерам в таких языках программирования, как Perl, .NET, Java и других.
Модуль Spring AOP позволяет перехватчикам перехватывать приложение. Например, когда метод выполняется, вы можете добавить дополнительные функции до или после выполнения метода.