纯注解开发模式实现管理第三方Bean(SqlSessionFactory),SqlSessionFactoryBean的用法

创建SqlSessionFactory就需要DataSource

所以我们先创建DataSource的Bean

public class JdbcConfig {
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String userName;
    @Value("${jdbc.password}")
    private String password;

    @Bean
    public DataSource dataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}
这部分就相当于以下图片

创建了 DataSource之后就可以创建SqlSessionFactory的工厂类

因为创建SqlSessionFactory需要太多东西了,我们直接用别人创建好的工厂对象SqlSessionFactoryBean创建出来因为

 SqlSessionFactoryBean实现了FactoryBean<SqlSessionFactory>

所以他可以创造出来SqlSessionFactory,而且更简单

ssfb.setDataSource(DataSource ds)注意这传入的是DataSource对象

这里就要用到我们刚才创建出来的DataSource的Bean直接设置为为形参传入进来即可

   @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
        ssfb.setTypeAliasesPackage("com.dd.domain");
        ssfb.setDataSource(dataSource);
        return ssfb;
    }

最后一步就是

的配置文件这一步我们该怎么写呢?

就是以下代码

    //定义bean,返回MapperScannerConfigurer对象
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer(){
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.dd.dao");
        return msc;
    }

 这下我们就配置完毕了创造出工厂了之后SqlSessionFactory之后,

java会自动根据配置文件或者注解创造出对应的代理对象

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值