我基于 SpringBoot 构建了一个演示模块,包括服务器和客户端应用程序。路径如:
├── test
│ ├── client
│ │ ├── DemoController.java
│ │ └── ClientApplication.java
│ ├── server
│ │ └── ServerApplication.java
我写了两个相互冲突的自定义注释@Client
,并@Server
在ClientApplication.java
和ServerApplication.java
.
当我运行客户端或服务器时,两个注释发生冲突。
我想在没有扫描包的情况下运行 ClientApplication test.server
,也适用于 ServerApplication。
我尝试了一些但没有用(springBootVersion = '1.5.11.RELEASE'):
@Client
@SpringBootApplication
@ComponentScan(basePackages = "test.client", excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "test\\.server\\.*"),
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, pattern = ServerApplication.class)
})
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ServerApplication.class, args).stop();
}
}
我在 ClientApplication.main 中写错了代码:
SpringApplication.run(***ServerApplication***.class, args).stop();