Spring Boot 应用里面 jar 包中的 controller 等组件如何加载的

默认情况下 Spring Boot 在启动时, 只会扫描启动类对应的包以及子包进行装配.
例如, 通过 com.x.y.z 下面 Application.java 启动以后, 只会对 com.x.y.z** 包里面内容进行装配. 如果想要使用依赖 jar 包里面controller 等组件, 则需要添加component-scan路径.

<context:component-scan base-package="org.example"/>

然而, 发现在依赖 Spring cloud config server 的时候, 并没有添加组件扫描, 结果 jar 包中的 controller 一样能够使用.
分析了一下, 原来在启动类上, 添加了 @EnableConfigServer 注解以后, 此注解里面有个 @Import 注解, 会将一些Configuration类引进来, Configuration 类中通过 @Bean 注解的方法创建 config server 需要使用的类, 其中包括 Controller 类.
这样在没有手工添加 component-scan 的情况下, 只需要在启动类上添加注解, 一样能够使用 jar 包里的组件.

转载于:https://my.oschina.net/u/1169457/blog/1524560

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值