From c297adad3c130b1b336cc67fd55a192778061757 Mon Sep 17 00:00:00 2001 From: zhaiyongchao Date: Wed, 7 Mar 2018 22:35:36 +0800 Subject: [PATCH] =?UTF-8?q?Spring=20Boot=202.0=20=E6=96=B0=E7=89=B9?= =?UTF-8?q?=E6=80=A7=EF=BC=88=E4=BA=8C=EF=BC=89=EF=BC=9A=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6ApplicationStartedEvent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chapter1-2-1/pom.xml | 54 +++++++++++++++++++ .../main/java/com/didispace/Application.java | 31 +++++++++++ ...ationEnvironmentPreparedEventListener.java | 15 ++++++ .../ApplicationFailedEventListener.java | 15 ++++++ .../ApplicationPreparedEventListener.java | 15 ++++++ .../ApplicationReadyEventListener.java | 15 ++++++ .../ApplicationStartedEventListener.java | 16 ++++++ .../ApplicationStartingEventListener.java | 15 ++++++ .../main/resources/META-INF/spring.factories | 6 +++ .../src/main/resources/application.properties | 0 README.md | 3 +- 11 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 Chapter1-2-1/pom.xml create mode 100755 Chapter1-2-1/src/main/java/com/didispace/Application.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationEnvironmentPreparedEventListener.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationFailedEventListener.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationPreparedEventListener.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationReadyEventListener.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationStartedEventListener.java create mode 100644 Chapter1-2-1/src/main/java/com/didispace/ApplicationStartingEventListener.java create mode 100644 Chapter1-2-1/src/main/resources/META-INF/spring.factories create mode 100755 Chapter1-2-1/src/main/resources/application.properties diff --git a/Chapter1-2-1/pom.xml b/Chapter1-2-1/pom.xml new file mode 100644 index 0000000..e4500f8 --- /dev/null +++ b/Chapter1-2-1/pom.xml @@ -0,0 +1,54 @@ + + + 4.0.0 + + com.didispace + Chapter1-2-1 + 1.0.0 + jar + + Chapter1-2-1 + Spring Boot 2.0 features : Application Events and Listeners + + + org.springframework.boot + spring-boot-starter-parent + 2.0.0.RELEASE + + + + + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.projectlombok + lombok + provided + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/Chapter1-2-1/src/main/java/com/didispace/Application.java b/Chapter1-2-1/src/main/java/com/didispace/Application.java new file mode 100755 index 0000000..bcfd43a --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/Application.java @@ -0,0 +1,31 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +@Slf4j +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + @Bean + public DataLoader dataLoader() { + return new DataLoader(); + } + + @Slf4j + static class DataLoader implements CommandLineRunner { + + @Override + public void run(String... strings) throws Exception { + log.info("Loading data..."); + } + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationEnvironmentPreparedEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationEnvironmentPreparedEventListener.java new file mode 100644 index 0000000..da2a47c --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationEnvironmentPreparedEventListener.java @@ -0,0 +1,15 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationEnvironmentPreparedEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { + log.info("......ApplicationEnvironmentPreparedEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationFailedEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationFailedEventListener.java new file mode 100644 index 0000000..457ff47 --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationFailedEventListener.java @@ -0,0 +1,15 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationFailedEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationFailedEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationFailedEvent event) { + log.info("......ApplicationFailedEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationPreparedEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationPreparedEventListener.java new file mode 100644 index 0000000..5b52961 --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationPreparedEventListener.java @@ -0,0 +1,15 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationPreparedEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationPreparedEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationPreparedEvent event) { + log.info("......ApplicationPreparedEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationReadyEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationReadyEventListener.java new file mode 100644 index 0000000..9193a75 --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationReadyEventListener.java @@ -0,0 +1,15 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationReadyEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationReadyEvent event) { + log.info("......ApplicationReadyEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartedEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartedEventListener.java new file mode 100644 index 0000000..3b47eba --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartedEventListener.java @@ -0,0 +1,16 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.context.event.ApplicationStartedEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationStartedEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationStartedEvent event) { + log.info("......ApplicationStartedEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartingEventListener.java b/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartingEventListener.java new file mode 100644 index 0000000..effcb14 --- /dev/null +++ b/Chapter1-2-1/src/main/java/com/didispace/ApplicationStartingEventListener.java @@ -0,0 +1,15 @@ +package com.didispace; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.event.ApplicationStartingEvent; +import org.springframework.context.ApplicationListener; + +@Slf4j +public class ApplicationStartingEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(ApplicationStartingEvent event) { + log.info("......ApplicationStartingEvent......"); + } + +} diff --git a/Chapter1-2-1/src/main/resources/META-INF/spring.factories b/Chapter1-2-1/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..15177da --- /dev/null +++ b/Chapter1-2-1/src/main/resources/META-INF/spring.factories @@ -0,0 +1,6 @@ +org.springframework.context.ApplicationListener=com.didispace.ApplicationEnvironmentPreparedEventListener,\ + com.didispace.ApplicationFailedEventListener,\ + com.didispace.ApplicationPreparedEventListener,\ + com.didispace.ApplicationReadyEventListener,\ + com.didispace.ApplicationStartedEventListener,\ + com.didispace.ApplicationStartingEventListener \ No newline at end of file diff --git a/Chapter1-2-1/src/main/resources/application.properties b/Chapter1-2-1/src/main/resources/application.properties new file mode 100755 index 0000000..e69de29 diff --git a/README.md b/README.md index 09a7ef9..653f86b 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,8 @@ **新特性详解** -- [Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析](http://localhost:4000/Spring-Boot-2-0-feature-1-relaxed-binding-2/) +- [Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析](http://blog.didispace.com/Spring-Boot-2-0-feature-1-relaxed-binding-2/) +- [Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEvent](http://blog.didispace.com/Spring-Boot-2-0-feature-2-ApplicationStartedEvent/) ## Spring Boot 基础教程(基于1.3.x-1.5.x)