LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.
Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor people.
talk is cheap, show others the code,Keep progress,make a better result.
Survive during the day and develop at night。
目录
概述
查看mybatis的源码使用的工厂模式:
1.mybatis底层使用的是用来生产数据源的工厂DataSource这个是JDK自带的数据源,
public interface DataSourceFactory{
void setProperties(Properties var1);
DataSource getDataSource();
}
具体产品类 A
public class UnpooledDataSource implements DataSource { }
生产这个产品类A的具体工厂
public class UnpooledDataSourceFactory implements DataSourceFactory {
protected DataSource dataSource = new UnpooledDataSource();
public DataSource getDataSource() {
return this.dataSource;
}
}
分析:
实际产品B:
public class UnpooldData implements DataSourec{
}
生产这个产品的类的具体工厂:
poblic class UnpooledDataSourceFactory impements DataSourceFactotyr{
protect DataSource dataSource=new UnpooledDataSource();
public DataSoure getDataSource(){
reurn thisdataSource;
}
}
实际产品B:
public class PooledDataSouce implements DataSource{}{
}
生产B的工厂:
public class PooledDataSourceFactory extends UnpooledDataSourceFactory{
public PooledDataSourceFactoty(){
this.dataSource=new PooledDataSource();
}
}
小结:
参考资料和推荐阅读
1.链接: 参考资料.