有没有懂 springcloud 的兄弟,请教个问题

2022-11-23 19:53:08 +08:00
 fang23

springcloud-config-server 源码里面,有个 controller:
https://github.com/spring-cloud/spring-cloud-config/blob/main/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java
这个 controller 已经加了 @RestController 注解,会自动实例化,
但是源码里面有个配置文件用 @Bean 也配置了这个 controller 的实例化,配置类第 77 行:
https://github.com/spring-cloud/spring-cloud-config/blob/main/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java
源码里面没加 @Primary ,spring 容器似乎也没配置相关的 TypeFilter ,
这个 controller 实例化的时候为什么不会冲突?

2036 次点击
所在节点    Java
3 条回复
mgcnrx11
2022-11-23 19:58:18 +08:00
“这个 controller 已经加了 @RestController 注解,会自动实例化”

这句话就不完整,自动实例化的前提是 @ComponentScan 包扫描到这个类
cppc
2022-11-23 22:21:29 +08:00
加了注解,需要在包扫描路径下才能注册为 bean
@Bean 注解是以程序方式手动注册 bean
fang23
2022-11-24 08:25:39 +08:00
@mgcnrx11
@cppc
是的,刚发现启动类里面没有加自动扫描,
谢谢兄弟

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/897432

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX