Click here to watch on Youtube:
https://www.youtube.com/watch?v=wW-NPP72o5w&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
pom.xml
EmployeeService.java
LoggingAdvice.java
applicationContext.xml
App.java
Output
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_after_advise.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_after_advise
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/e16b8c6ef73a72464fa5812e24080179c4adc913/Spring_2018/SpringDemo_after_advise/?at=master
See also:
All JavaEE Videos Playlist
All JavaEE Videos
All JAVA EE Links
Spring Tutorial
Servlets Tutorial
All Design Patterns Links
JDBC Tutorial
Java Collection Framework Tutorial
JAVA Tutorial
Kids Tutorial
Cooking Tutorial
https://www.youtube.com/watch?v=wW-NPP72o5w&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
Spring AOP After Advice Example | Spring Tutorial |
Spring AOP After Advice Example | Spring Tutorial |
Spring AOP After Advice Example | Spring Tutorial |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ram.core</groupId>
<artifactId>SpringDemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringDemo</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring 5 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ram.core</groupId>
<artifactId>SpringDemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringDemo</name>
<url>http://maven.apache.org</url>
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring 5 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
EmployeeService.java
package com.ram.service;
public class EmployeeService
{
public String getEmployeeName(int age)
{
System.out.println("Get Employee Information");
if(age == 28)
{
return "Peter";
}
return "Dave";
}
}
public class EmployeeService
{
public String getEmployeeName(int age)
{
System.out.println("Get Employee Information");
if(age == 28)
{
return "Peter";
}
return "Dave";
}
}
LoggingAdvice.java
package com.ram.Advice;
import java.lang.reflect.Method;
import org.springframework.aop.AfterReturningAdvice;
public class LoggingAdvice implements AfterReturningAdvice
{
public void afterReturning(Object returnValue, Method method, Object[] args,
Object target) throws Throwable
{
System.out.println("Logging advice is applied after the method "
+ method.getName() + " in the target Object "
+ target.getClass().getName());
for (Object object : args)
{
System.out.println(object);
}
System.out.println("returnValue = " + returnValue);
}
}
import java.lang.reflect.Method;
import org.springframework.aop.AfterReturningAdvice;
public class LoggingAdvice implements AfterReturningAdvice
{
public void afterReturning(Object returnValue, Method method, Object[] args,
Object target) throws Throwable
{
System.out.println("Logging advice is applied after the method "
+ method.getName() + " in the target Object "
+ target.getClass().getName());
for (Object object : args)
{
System.out.println(object);
}
System.out.println("returnValue = " + returnValue);
}
}
applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<bean id="employeeService" class="com.ram.service.EmployeeService"></bean>
<bean id="loggingAdvice" class="com.ram.Advice.LoggingAdvice"></bean>
<bean id="employeeServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target" ref="employeeService"></property>
<property name="interceptorNames">
<list>
<value>loggingAdvice</value>
</list>
</property>
</bean>
</beans>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<bean id="employeeService" class="com.ram.service.EmployeeService"></bean>
<bean id="loggingAdvice" class="com.ram.Advice.LoggingAdvice"></bean>
<bean id="employeeServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target" ref="employeeService"></property>
<property name="interceptorNames">
<list>
<value>loggingAdvice</value>
</list>
</property>
</bean>
</beans>
App.java
package com.ram.core;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.service.EmployeeService;
public class App
{
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println("---------------------------------------");
EmployeeService employeeService = context.getBean("employeeServiceProxy",
EmployeeService.class);
employeeService.getEmployeeName(28);
}
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.service.EmployeeService;
public class App
{
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println("---------------------------------------");
EmployeeService employeeService = context.getBean("employeeServiceProxy",
EmployeeService.class);
employeeService.getEmployeeName(28);
}
}
Output
Oct 12, 2018 8:06:21 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6ebc05a6: startup date [Fri Oct 12 08:06:21 IST 2018]; root of context hierarchy
Oct 12, 2018 8:06:22 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
---------------------------------------
Get Employee Information
Logging advice is applied after the method getEmployeeName in the target Object com.ram.service.EmployeeService
28
returnValue = Peter
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6ebc05a6: startup date [Fri Oct 12 08:06:21 IST 2018]; root of context hierarchy
Oct 12, 2018 8:06:22 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
---------------------------------------
Get Employee Information
Logging advice is applied after the method getEmployeeName in the target Object com.ram.service.EmployeeService
28
returnValue = Peter
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_after_advise.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_after_advise
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/e16b8c6ef73a72464fa5812e24080179c4adc913/Spring_2018/SpringDemo_after_advise/?at=master
See also:
No comments:
Post a Comment