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

纯注解开发模式实现管理第三方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,而且更简单

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会自动根据配置文件或者注解创造出对应的代理对象

 

开发者涨薪指南 纯注解开发模式实现管理第三方Bean(SqlSessionFactory),SqlSessionFactoryBean的用法 48位大咖的思考法则、工作方式、逻辑体系