spring 容器 加载 外部依赖包的bean 和 应用中的bean 的先后顺序的问题

假如 应用中定义的 bean和 外部依赖包中的bean重名,这个时候在应用启动的时候会报错。在配置中开启 bean定义重写可以消除这个报错。但是我还是有个疑问:
怎么保证实际需要的bean(或者说正确的bean) 覆盖了不需要的bean,而避免不需要的bean覆盖需要的bean呢。

spring容器是怎么控制 加载外部依赖包的bean和应用bean的先后顺序的

跪求各位大佬解惑,谢谢了~

同名的Bean,可以通过在注解上覆写bean的名称来解决冲突。
如果是互相依赖的Bean,需要控制先后初始化的问题可以可以使用 @DependsOn 注解,它可以保证被依赖的Bean先于当前Bean被容器创建。