SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Adlux Consultancy Services Pvt Ltd
AGENDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
What Is AOP ,[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Cross-cutting concerns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Cross Cutting Concerns in OOP Approach ,[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Withdraw method Deposit method Cross cutting concerns
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
[object Object],[object Object],[object Object],[object Object],Could we not write these cross cutting concerns as functions and call? Adlux Consultancy Services Pvt Ltd
If we use AOP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP Terminology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP  vs  OOP Adlux Consultancy Services Pvt Ltd Object Oriented Aspect Oriented Class – code unit that encapsulates methods and attributes. Aspect – code unit that encapsulates pointcuts, advice, and attributes. Method signatures – define the entry points for the execution of method bodies. Pointcut – define the set of entry points (triggers) in which advice is executed. Method bodies – implementations of the primary concerns. Advice – implementations of the cross cutting concerns. Compiler – converts source code into object code. Weaver – instruments code (source or object) with advice.
AOP History ,[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice Adlux Consultancy Services Pvt Ltd
Advice Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Advice ,[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=“proxy“   class=“ org.springframework.aop.framework.ProxyFactoryBean “> <property name=&quot;proxyInterfaces“> <value>MyInterface</value> </property> <property name=&quot;target&quot;> <ref bean=“myTargetClass &quot;/> </property> <property name=&quot;interceptorNames&quot;> <value> getMethodsAdvisor  </value> </property> </bean> </beans>
Pointcuts ,[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=&quot;person&quot;  class=“ org.springframework.aop.  framework.ProxyFactoryBean “> <property name=“proxyInterfaces” > <value>MyInterface</value> </property> <property name=“target”> <ref bean=“myTargetClass”/> </property> <property name=“interceptorNames”> <value>  regExpAdvisor  </value> </property> </bean> Pointcuts
Pointcuts Adlux Consultancy Services Pvt Ltd Symbol Description . Matches Any Single Character + Mathches the Preceding Character one or more times * Mathches the Preceding Character Zero or more times / Escapes any Regular Expression Symbols
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Pointcuts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=&quot;person&quot;  class=“ org.springframework.aop.  framework.ProxyFactoryBean “> <property name=“proxyInterfaces” > <value>MyInterface</value> </property> <property name=“target”> <ref bean=“myTargetClass”/> </property> <property name=“interceptorNames”> <value> dynamicAdvisor </value> </property> </bean> Pointcuts
Target ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Weaving ,[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP Proxy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP Proxy Adlux Consultancy Services Pvt Ltd Sample  ProxyFactoryBean Configuration <bean id=“sampleProxy&quot;  class=“org.springframework.aop.  framework.ProxyFactoryBean“> <property name=&quot;proxyInterfaces“> <value> SampleInterface </value> </property> <property name=&quot;target&quot;> <ref bean=&quot; sampleTarget &quot;/> </property> <property name=&quot;interceptorNames&quot;> <value> sampleAdvice </value> </property> </bean> <bean id=“sampleTarget&quot; class=“MySampleTarget“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/>
AOP Proxy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP Proxy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
AOP Proxy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Spring AOP Capabilities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Adlux Consultancy Services Pvt Ltd
Adlux Consultancy Services Pvt Ltd

Weitere ähnliche Inhalte

Was ist angesagt?

Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOPDzmitry Naskou
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaEdureka!
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot IntroductionJeevesh Pandey
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootJosué Neis
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!Jakub Kubrynski
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - CoreDzmitry Naskou
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVCIndicThreads
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingAmir Kost
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlArjun Thakur
 
RESTful API In Node Js using Express
RESTful API In Node Js using Express RESTful API In Node Js using Express
RESTful API In Node Js using Express Jeetendra singh
 

Was ist angesagt? (20)

Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | Edureka
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBoot
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Spring framework core
Spring framework coreSpring framework core
Spring framework core
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
RESTful API In Node Js using Express
RESTful API In Node Js using Express RESTful API In Node Js using Express
RESTful API In Node Js using Express
 
Spring Data JPA
Spring Data JPASpring Data JPA
Spring Data JPA
 

Ähnlich wie Spring AOP

Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingFernando Almeida
 
Session 45 - Spring - Part 3 - AOP
Session 45 - Spring - Part 3 - AOPSession 45 - Spring - Part 3 - AOP
Session 45 - Spring - Part 3 - AOPPawanMM
 
Spring - Part 3 - AOP
Spring - Part 3 - AOPSpring - Part 3 - AOP
Spring - Part 3 - AOPHitesh-Java
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2Hammad Rajjoub
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2Hammad Rajjoub
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingRajesh Ganesan
 
Aspect-Oriented Programming
Aspect-Oriented ProgrammingAspect-Oriented Programming
Aspect-Oriented ProgrammingAndrey Bratukhin
 
Aspect oriented programming with spring
Aspect oriented programming with springAspect oriented programming with spring
Aspect oriented programming with springSreenivas Kappala
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)KPMG US
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Santhoo Vardan
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developerscboecking
 

Ähnlich wie Spring AOP (20)

Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
L04 Software Design Examples
L04 Software Design ExamplesL04 Software Design Examples
L04 Software Design Examples
 
Session 45 - Spring - Part 3 - AOP
Session 45 - Spring - Part 3 - AOPSession 45 - Spring - Part 3 - AOP
Session 45 - Spring - Part 3 - AOP
 
L09 Frameworks
L09 FrameworksL09 Frameworks
L09 Frameworks
 
Spring - Part 3 - AOP
Spring - Part 3 - AOPSpring - Part 3 - AOP
Spring - Part 3 - AOP
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And Refactoring
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Aspect-Oriented Programming
Aspect-Oriented ProgrammingAspect-Oriented Programming
Aspect-Oriented Programming
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Spring framework part 2
Spring framework  part 2Spring framework  part 2
Spring framework part 2
 
Aspect oriented programming with spring
Aspect oriented programming with springAspect oriented programming with spring
Aspect oriented programming with spring
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.
 
Clean code
Clean codeClean code
Clean code
 
Spring aop
Spring aopSpring aop
Spring aop
 
Spring aop
Spring aopSpring aop
Spring aop
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developers
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Spring AOP

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. AOP vs OOP Adlux Consultancy Services Pvt Ltd Object Oriented Aspect Oriented Class – code unit that encapsulates methods and attributes. Aspect – code unit that encapsulates pointcuts, advice, and attributes. Method signatures – define the entry points for the execution of method bodies. Pointcut – define the set of entry points (triggers) in which advice is executed. Method bodies – implementations of the primary concerns. Advice – implementations of the cross cutting concerns. Compiler – converts source code into object code. Weaver – instruments code (source or object) with advice.
  • 11.
  • 12. Advice Adlux Consultancy Services Pvt Ltd
  • 13. Advice Adlux Consultancy Services Pvt Ltd
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 23.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Pointcuts Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=“proxy“ class=“ org.springframework.aop.framework.ProxyFactoryBean “> <property name=&quot;proxyInterfaces“> <value>MyInterface</value> </property> <property name=&quot;target&quot;> <ref bean=“myTargetClass &quot;/> </property> <property name=&quot;interceptorNames&quot;> <value> getMethodsAdvisor </value> </property> </bean> </beans>
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=&quot;person&quot; class=“ org.springframework.aop. framework.ProxyFactoryBean “> <property name=“proxyInterfaces” > <value>MyInterface</value> </property> <property name=“target”> <ref bean=“myTargetClass”/> </property> <property name=“interceptorNames”> <value> regExpAdvisor </value> </property> </bean> Pointcuts
  • 35. Pointcuts Adlux Consultancy Services Pvt Ltd Symbol Description . Matches Any Single Character + Mathches the Preceding Character one or more times * Mathches the Preceding Character Zero or more times / Escapes any Regular Expression Symbols
  • 36.
  • 37.
  • 38. Adlux Consultancy Services Pvt Ltd <bean id=“myTargetClass&quot; class=“MyClass“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/> <bean id=&quot;person&quot; class=“ org.springframework.aop. framework.ProxyFactoryBean “> <property name=“proxyInterfaces” > <value>MyInterface</value> </property> <property name=“target”> <ref bean=“myTargetClass”/> </property> <property name=“interceptorNames”> <value> dynamicAdvisor </value> </property> </bean> Pointcuts
  • 39.
  • 40.
  • 41.
  • 42. AOP Proxy Adlux Consultancy Services Pvt Ltd Sample ProxyFactoryBean Configuration <bean id=“sampleProxy&quot; class=“org.springframework.aop. framework.ProxyFactoryBean“> <property name=&quot;proxyInterfaces“> <value> SampleInterface </value> </property> <property name=&quot;target&quot;> <ref bean=&quot; sampleTarget &quot;/> </property> <property name=&quot;interceptorNames&quot;> <value> sampleAdvice </value> </property> </bean> <bean id=“sampleTarget&quot; class=“MySampleTarget“/> <bean id=“sampleAdvice&quot; class=“MySampleAdvice“/>
  • 43.
  • 44.
  • 45.
  • 46.