From 7d4b15c59e44cd0b0377e67ac5c95edff4539b94 Mon Sep 17 00:00:00 2001 From: xuchengsheng Date: Mon, 9 Oct 2023 18:01:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Espring-annotation-dependsOn?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring-annotation/pom.xml | 1 + .../spring-annotation-dependsOn/pom.xml | 14 ++++++++++ .../com/xcs/spring/DependsOnApplication.java | 15 ++++++++++ .../com/xcs/spring/bean/ClassBeanFirst.java | 16 +++++++++++ .../com/xcs/spring/bean/ClassBeanSecond.java | 14 ++++++++++ .../com/xcs/spring/bean/MethodBeanFirst.java | 11 ++++++++ .../com/xcs/spring/bean/MethodBeanSecond.java | 11 ++++++++ .../xcs/spring/config/MyConfiguration.java | 28 +++++++++++++++++++ 8 files changed, 110 insertions(+) create mode 100644 spring-annotation/spring-annotation-dependsOn/pom.xml create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/DependsOnApplication.java create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanFirst.java create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanSecond.java create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanFirst.java create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanSecond.java create mode 100644 spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/config/MyConfiguration.java diff --git a/spring-annotation/pom.xml b/spring-annotation/pom.xml index 95510b1..9679c3c 100644 --- a/spring-annotation/pom.xml +++ b/spring-annotation/pom.xml @@ -18,6 +18,7 @@ spring-annotation-import spring-annotation-propertySource spring-annotation-componentScan + spring-annotation-dependsOn \ No newline at end of file diff --git a/spring-annotation/spring-annotation-dependsOn/pom.xml b/spring-annotation/spring-annotation-dependsOn/pom.xml new file mode 100644 index 0000000..9067f49 --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/pom.xml @@ -0,0 +1,14 @@ + + + + spring-annotation + com.xcs.spring + 0.0.1-SNAPSHOT + + + 4.0.0 + spring-annotation-dependsOn + + \ No newline at end of file diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/DependsOnApplication.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/DependsOnApplication.java new file mode 100644 index 0000000..fd7ee10 --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/DependsOnApplication.java @@ -0,0 +1,15 @@ +package com.xcs.spring; + +import com.xcs.spring.config.MyConfiguration; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; + +/** + * @author xcs + * @date 2023年08月07日 16时21分 + **/ +public class DependsOnApplication { + + public static void main(String[] args) { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfiguration.class); + } +} diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanFirst.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanFirst.java new file mode 100644 index 0000000..05e23b9 --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanFirst.java @@ -0,0 +1,16 @@ +package com.xcs.spring.bean; + +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +/** + * @author 林雷 + * @date 2023年10月09日 16时45分 + **/ +@DependsOn("classBeanSecond") +@Component +public class ClassBeanFirst { + public ClassBeanFirst() { + System.out.println("ClassBeanFirst Initialized"); + } +} diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanSecond.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanSecond.java new file mode 100644 index 0000000..486fe66 --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/ClassBeanSecond.java @@ -0,0 +1,14 @@ +package com.xcs.spring.bean; + +import org.springframework.stereotype.Component; + +/** + * @author 林雷 + * @date 2023年10月09日 16时46分 + **/ +@Component +public class ClassBeanSecond { + public ClassBeanSecond() { + System.out.println("ClassBeanSecond Initialized"); + } +} diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanFirst.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanFirst.java new file mode 100644 index 0000000..4fac98e --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanFirst.java @@ -0,0 +1,11 @@ +package com.xcs.spring.bean; + +/** + * @author 林雷 + * @date 2023年10月09日 16时45分 + **/ +public class MethodBeanFirst { + public MethodBeanFirst() { + System.out.println("MethodBeanFirst Initialized"); + } +} diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanSecond.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanSecond.java new file mode 100644 index 0000000..3d11ec4 --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/bean/MethodBeanSecond.java @@ -0,0 +1,11 @@ +package com.xcs.spring.bean; + +/** + * @author 林雷 + * @date 2023年10月09日 16时46分 + **/ +public class MethodBeanSecond { + public MethodBeanSecond() { + System.out.println("MethodBeanSecond Initialized"); + } +} diff --git a/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/config/MyConfiguration.java b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/config/MyConfiguration.java new file mode 100644 index 0000000..0454c8c --- /dev/null +++ b/spring-annotation/spring-annotation-dependsOn/src/main/java/com/xcs/spring/config/MyConfiguration.java @@ -0,0 +1,28 @@ +package com.xcs.spring.config; + +import com.xcs.spring.bean.MethodBeanFirst; +import com.xcs.spring.bean.MethodBeanSecond; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; + +/** + * @author xcs + * @date 2023年08月07日 16时25分 + **/ +@Configuration +@ComponentScan("com.xcs.spring.bean") +public class MyConfiguration { + + @Bean + @DependsOn("methodBeanSecond") + public MethodBeanFirst methodBeanFirst() { + return new MethodBeanFirst(); + } + + @Bean + public MethodBeanSecond methodBeanSecond() { + return new MethodBeanSecond(); + } +} \ No newline at end of file