diff --git a/spring-all/pom.xml b/spring-all/pom.xml
index 25a45d9bae..c70d9d75fc 100644
--- a/spring-all/pom.xml
+++ b/spring-all/pom.xml
@@ -130,6 +130,13 @@
test
+
+ org.assertj
+ assertj-core
+ 3.5.1
+ test
+
+
org.hamcrest
hamcrest-core
diff --git a/spring-all/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java b/spring-all/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java
new file mode 100644
index 0000000000..1c784e0c74
--- /dev/null
+++ b/spring-all/src/main/java/org/baeldung/startup/StartupApplicationListenerExample.java
@@ -0,0 +1,16 @@
+package org.baeldung.startup;
+
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.ContextRefreshedEvent;
+import org.springframework.stereotype.Component;
+
+@Component
+public class StartupApplicationListenerExample implements ApplicationListener {
+
+ public static int counter;
+
+ @Override
+ public void onApplicationEvent(ContextRefreshedEvent event) {
+ counter++;
+ }
+}
diff --git a/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java b/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java
index 1e76fd8746..523a27c2c4 100644
--- a/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java
+++ b/spring-all/src/test/java/org/baeldung/startup/SpringStartupTest.java
@@ -1,5 +1,6 @@
package org.baeldung.startup;
+import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.BeanCreationException;
@@ -35,4 +36,9 @@ public class SpringStartupTest {
public void whenInitializingBean_shouldLogEnv() throws Exception {
ctx.getBean(InitializingBeanExampleBean.class);
}
+
+ @Test
+ public void whenApplicationListener_shouldRunOnce() throws Exception {
+ Assertions.assertThat(StartupApplicationListenerExample.counter).isEqualTo(1);
+ }
}
\ No newline at end of file