Click here to watch on Youtube:
https://www.youtube.com/watch?v=w0N2zbyLwSM&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
pom.xml
CustomEvent.java
CustomEventPublisher.java
CustomEventHandler.java
applicationContext.xml
App.java
Output
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_Custom_Events.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_Custom_Events
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/02e04aa1b68a77d4f5a01ebf111e80370bd99ca8/Spring_2018/SpringDemo_Custom_Events/?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=w0N2zbyLwSM&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge:
Custom Events in Spring | Spring Custom Events | Spring event handling |
Custom Events in Spring | Spring Custom Events | Spring event handling |
Custom Events in Spring | Spring Custom Events | Spring event handling |
pom.xml
<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%20http://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.2.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%20http://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.2.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>
CustomEvent.java
package com.ram.events;
import org.springframework.context.ApplicationEvent;
public class CustomEvent extends ApplicationEvent
{
public CustomEvent(Object source)
{
super(source);
}
public String toString()
{
return "My Custom Event";
}
}
import org.springframework.context.ApplicationEvent;
public class CustomEvent extends ApplicationEvent
{
public CustomEvent(Object source)
{
super(source);
}
public String toString()
{
return "My Custom Event";
}
}
CustomEventPublisher.java
package com.ram.eventpublisher;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import com.ram.events.CustomEvent;
public class CustomEventPublisher implements ApplicationEventPublisherAware
{
private ApplicationEventPublisher publisher;
public void setApplicationEventPublisher(
ApplicationEventPublisher publisher)
{
this.publisher = publisher;
}
public void publish()
{
CustomEvent customEvent = new CustomEvent(this);
publisher.publishEvent(customEvent);
}
}
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import com.ram.events.CustomEvent;
public class CustomEventPublisher implements ApplicationEventPublisherAware
{
private ApplicationEventPublisher publisher;
public void setApplicationEventPublisher(
ApplicationEventPublisher publisher)
{
this.publisher = publisher;
}
public void publish()
{
CustomEvent customEvent = new CustomEvent(this);
publisher.publishEvent(customEvent);
}
}
CustomEventHandler.java
package com.ram.eventhand
ler;
import org.springframework.context.ApplicationListener;
import com.ram.events.CustomEvent;
public class CustomEventHandler implements ApplicationListener<CustomEvent>
{
public void onApplicationEvent(CustomEvent event)
{
System.out.println("Received custom event = "+event.toString());
}
}
ler;
import org.springframework.context.ApplicationListener;
import com.ram.events.CustomEvent;
public class CustomEventHandler implements ApplicationListener<CustomEvent>
{
public void onApplicationEvent(CustomEvent event)
{
System.out.println("Received custom event = "+event.toString());
}
}
applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="customEventHandler" class=" com.ram.eventhandler.CustomEventHandler" />
<bean id="customEventPublisher" class="com.ram.eventpublisher.CustomEventPublisher" />
</beans>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean id="customEventHandler" class=" com.ram.eventhandler.CustomEventHandler" />
<bean id="customEventPublisher" class="com.ram.eventpublisher.CustomEventPublisher" />
</beans>
App.java
package com.ram.core;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.eventpublisher.CustomEventPublisher;
public class App
{
public static void main(String[] args)
{
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
CustomEventPublisher customEventPublisher = (CustomEventPublisher) context
.getBean("customEventPublisher");
customEventPublisher.publish();
customEventPublisher.publish();
}
}
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ram.eventpublisher.CustomEventPublisher;
public class App
{
public static void main(String[] args)
{
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
CustomEventPublisher customEventPublisher = (CustomEventPublisher) context
.getBean("customEventPublisher");
customEventPublisher.publish();
customEventPublisher.publish();
}
}
Output
Aug 28, 2018 10:28:25 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@610694f1: startup date [Tue Aug 28 10:28:25 IST 2018]; root of context hierarchy
Aug 28, 2018 10:28:25 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Received custom event = My Custom Event
Received custom event = My Custom Event
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@610694f1: startup date [Tue Aug 28 10:28:25 IST 2018]; root of context hierarchy
Aug 28, 2018 10:28:25 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Received custom event = My Custom Event
Received custom event = My Custom Event
Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_Custom_Events.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_Custom_Events
Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/02e04aa1b68a77d4f5a01ebf111e80370bd99ca8/Spring_2018/SpringDemo_Custom_Events/?at=master
See also:
No comments:
Post a Comment