工厂内部网站源码分享,网站制作公司源码

大家好,工厂内部网站源码分享相信很多的网友都不是很明白,包括网站制作公司源码也是一样,不过没有关系,接下来就来为大家分享关于工厂内部网站源码分享和网站制作公司源码的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

ObjectFactory是MyBatis中的对象工厂。ObjectFactory接口只有一个默认的实现,即DefaultObjectFactory。

使用ObjectFactory创建对象的案例代码如下:

ObjectFactoryobjectFactory=newDefaultObjectFactory();\nList<Integer>list=objectFactory.create(List.class);\nlist.addAll(Arrays.asList(1,2,3));\nSystem.out.println(list);

DefaultObjectFactory实现类支持通过接口的方式创建对象。例如当我们指定创建java.util.List实例时,实际上创建的是java.util.ArrayList对象。

DefaultObjectFactory支持的接口:

java.util.List–>java.util.ArrayListjava.util.Collection–>java.util.ArrayListjava.lang.Iterable–>java.util.ArrayListjava.util.Map–>java.util.HashMapjava.util.SortedSet–>java.util.TreeSetjava.util.Set–>java.util.HashSet

某些场景下,在得到映射结果之前我们可能需要处理一些逻辑,或者在执行该类的有参构造方法时,在传入参数之前,要对参数进行一些处理,这时我们可以通过自定义ObjectFactory来实现。

自定义ObjectFactory代码示例:

publicclassCustomObjectFactoryextendsDefaultObjectFactory{\n@Override\npublicObjectcreate(Classtype){\nif(Objects.equals(type,User.class)){\n//实例化User类\nUseruser=super.create(User.class);\n//需要处理的业务逻辑\nuser.setId(UUID.randomUUID().toString());\nreturnuser;\n}\nreturnsuper.create(type);\n}\n}

我们实现自定义ObjectFactory只需要继承DefaultObjectFactory然后重写create()方法即可。

自定义ObjectFactory后还需要在MyBatis配置文件中通过<objectFactory>标签配置自定义的ObjectFactory,具体如下:

<objectFactorytype=&34;>\n<propertyname=&34;value=&34;/>\n</objectFactory>

OK,本文到此结束,希望对大家有所帮助。

站内搜索