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