Spring AOP allows for aspect-oriented programming in Spring applications. It provides a way to separate cross-cutting concerns like logging, security and caching into reusable modules called aspects. Aspects define advices that specify actions to be taken at certain join points during execution of methods. The main AOP concepts are aspects, advices, join points, pointcuts and weaving. Advices like before, after, around etc allow code to run before, after or around method executions. Pointcuts define which method executions match, allowing advices to be selectively applied based on method signatures or argument types. Weaving is the process of integrating aspects into classes at compile-time, load-time or runtime.