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