RealJt
2019-03-22 10:33
采纳率: 100%
浏览 2.7k
已结题

Spring Boot AutoConfiguration优先级问题

在引入mybatis-plus-boot-starter后,存在MybatisAutoConfiguration.java和
MybatisPlusAutoConfiguration.java两个类,并且两个类中都有以下方法

 @Bean
 @ConditionalOnMissingBean
 public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {...}

启动时是如何保证优先加载装配MybatisPlusAutoConfiguration.java中的sqlSessionFactory的?

  • 点赞
  • 收藏

2条回答 默认 最新

  • 上错赛道的小码农 2020-05-26 12:25
    已采纳

    刚好遇见同一个问题,没找到答案。
    跟踪代码发现,在**AutoConfigurationSorter**类中,因为**MybatisAutoConfiguration**和**MybatisPlusAutoConfiguration**两个自动配置类都没有指定**AutoConfigureOrder**,所以就直接按照全限定类名进行排序了。
    图片说明

    点赞 打赏 评论
  • L星火燎原 2019-03-22 11:29

    优先级从高到低,具体规则如下:
    file:./config/ (当前项目路径config目录下);
    file:./ (当前项目路径下);
    classpath:/config/ (类路径config目录下);
    classpath:/ (类路径config下).

    优先级由高到底,高优先级的配置会覆盖低优先级的配置;

    点赞 打赏 评论

相关推荐 更多相似问题