In this Spring AOP Tutorial we are talking about the Aspect Oriented Programming in Short “AOP“, Aspect Oriented Programming is a feature Spring provide in the Dependency Injection, Actually Aspect Oriented Programming is not only feature but also its different style of programming just like as Object Oriented Programming.
Popular Tutorials
Now I am talking about some other programming before Aspect Oriented Programming…
In older programming language like C, we have used functional programming style like below in figure.
First Problem is doing the design this type of style there too many dependencies with non business object because logger object does not have any business logic in the project its using just for logging with each objects in the project.
PROBLEMS:
In this style of code we are make Aspects means Aspects are also specific classes which some special methods for particular tasks like logging, security and transactions etc.
Aspect-Oriented Programming (AOP) complements Object-Oriented Programming (OOP) by providing another way of thinking about program structure. The key unit of modularity in OOP is the class, whereas in AOP the unit of modularity is the aspect. Aspects enable the modularization of concerns such as transaction management that cut across multiple types and objects. (Such concerns are often termed crosscutting concerns in AOP literature.)
Aspect-oriented programming entails breaking down program logic into distinct parts (so-called concerns, cohesive areas of functionality). All programming paradigms support some level of grouping and encapsulation of concerns into separate, independent entities by providing abstractions (e.g., procedures, modules, classes, methods) that can be used for implementing, abstracting, and composing these concerns. But some concerns defy these forms of implementation, and are called crosscutting concerns because they “cut across” multiple abstractions in a program.
etc… and configure with each of objects as per as our requirement with Aspect Configuration file as see below in figure…
Aspect Configuration file: Its responsible for configuration for all Aspects with the all object where we want to use. Its configure suppose Logging Aspect for a method in Object A Before or After execution of that method,
its just like the…..
–Servlet Filter in Servlet Configuration
-Trigger in Database
-Interceptors in Struts or in Spring MVC.
Aspect Configuration tells which aspect apply which method of which class. Aspect Configuration solve our three problems of Object Oriented Programming
Spring AOP Related Posts
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…