MybatisAutoConfiguration类上面的注解解析

@Configuration
@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
@ConditionalOnBean({DataSource.class})
@EnableConfigurationProperties({MybatisProperties.class})
@AutoConfigureAfter({DataSourceAutoConfiguration.class})

 

@Configuration
@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
@ConditionalOnBean({DataSource.class})
@EnableConfigurationProperties({MybatisProperties.class})
@AutoConfigureAfter({DataSourceAutoConfiguration.class})
public class MybatisAutoConfiguration {
    //...

}

1.    @Configuration 

                不解释,相当于<beans></beans>标签。表明本类自动生成Bean

2.    @ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})

              只有SqlSessionFactory.class,SqlSessionFactoryBean.class存在.class的路径里 才会实例化

             (只有当存在SqlSessionFactory,SqlSessionFactoryBean的.class文件才会实例化?不确定)

3.   @ConditionalOnBean({DataSource.class})

             只有在上下文中存在dataSource的bean是才会运行MybatisAutoConfiguration

4.   @EnableConfigurationProperties({MybatisProperties.class})

            @ConfigurationProperties注解主要用来把properties配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。如果只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的。

         MybatisProperties是mybatis的配置类,将properties中的配置文件转换成MybatisProperties对象,MybatisProperties上有@ConfigurationProperties(prefix = "mybatis")注解。

MybatisAutoConfiguration上的@EnableConfigurationProperties({MybatisProperties.class})表示让MybatisProperties类生效(并将值注入?)

5.   @AutoConfigureAfter({DataSourceAutoConfiguration.class})

         当DataSourceAutoConfiguration这个类加载完成后再加载本类(DataSourceAutoConfiguration类是springboot的dataSource自动生成bean的相关类?带确认)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值