یکی از Component های اصلی و کلیدی چهارچوب کاری Spring ، کامپوننت AOP یا Programming Aspect oriented است .
Aspect oriented Programming باعث تفکیک شدن منطق و کدهای برنامه ( Logic ) به بخش های مجزایی به نام So-Called Concern می شود.
توابعی که بخش های مختلف یک برنامه را به هم وصل می کنند را Cross-Cutting Concerns می گویند. Cross-Cutting Concerns به صورت مفهومی ، از business Logic برنامه جدا هستند . مثال های مختلفی را برای این نوع برنامه های توان ذکر کرد مثل عملیات Logging ، امنیت یا security و ... . واحد اصلی هم پیمانه کردن کدها در OOP کلاس است ، اما در AOP از مفهوم aspect یه جای کلاس استفاده می شود. Dependency Injection به شما کمک می کند تا اشیای برنامه خود را از هم جدا کنید . از طرف دیگر AOP این امکان را در اختیارتان قرار داده تا Cross-cutting Concern های برنامه را از Object هایی که آنها را تحت تاثیر قرار می دهند ، تفکیک کنید . AOP همانند trigger ها در زبان های برنامه نویسی مثل Perl یا .Net هستند.
Spring AOP ، رهگیری های کدی در اختیار شما قرار می دهد که به وسیله آنها ، می توانید فرآیند اجرای application را قطع کنید برای مثال ، وقتی که یک متد اجرا می شود شما می توانید کاربردها و کلیدهایی را برای مراحل قبل و بعد از اجرای متد ، به آن اضافه کنید.
این لینک می تواند به شما کمک کند و اطلاعات بیشتری در اختیارتان قرار دهد.