Skip to content

Commit 3702c15

Browse files
author
曾梓健
committed
热插拔技术
1 parent b28c649 commit 3702c15

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

myTest/src/main/java/com/hand/MyTestApplication.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
55

66
@SpringBootApplication
7+
@EnableRegisterServer
78
public class MyTestApplication {
89

910
public static void main(String[] args) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.hand;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
import com.hand.config.ConfigMarker;
9+
import org.springframework.context.annotation.Import;
10+
11+
/**
12+
* @author zijian.zeng@hand-china.com
13+
* @since 2023-01-27
14+
*/
15+
@Target(ElementType.TYPE)
16+
@Retention(RetentionPolicy.RUNTIME)
17+
@Import(ConfigMarker.class) // 将某个组件类生成实例,添加到容器中
18+
public @interface EnableRegisterServer {
19+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.hand.config;
2+
3+
4+
/**
5+
* @author zijian.zeng@hand-china.com
6+
* @since 2023-01-27
7+
*/
8+
public class ConfigMarker {
9+
}

zzj-spring-boot-stater/src/main/java/com/hand/config/MyAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.hand.config;
22

33
import com.hand.pojo.SimpleBean;
4+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
45
import org.springframework.context.annotation.Bean;
56
import org.springframework.context.annotation.Configuration;
67

@@ -9,6 +10,7 @@
910
* @since 2023-01-27
1011
*/
1112
@Configuration
13+
@ConditionalOnBean(ConfigMarker.class) // 上下文中必须存在ConfigMarker bean,才会让当前自动配置类生效
1214
public class MyAutoConfiguration {
1315

1416
static {
@@ -19,5 +21,4 @@ public class MyAutoConfiguration {
1921
public SimpleBean simpleBean() {
2022
return new SimpleBean();
2123
}
22-
2324
}

0 commit comments

Comments
 (0)