工厂模式的一个简单实现
程序员文章站
2024-01-20 10:16:10
1 工厂类 2 获取bean类 根据 上下文得到某个接口的实现类。 3 需要获取实例的接口类 4 的一个实现类 ......
1 工厂类
public class testfactory { /** * */ private static map<string, testinterface> beanmap = contextutil.getcontext().getbeansoftype(testinterface.class, false, false); public static testinterface getinstance(string inftype) { testinterface curinstance = null; for (string beanname : beanmap.keyset()) { testinterface instance = beanmap.get(beanname); if (instance.gettype() == null) throw new runtimeexception("接口实现类类型不可以为空"); else { if (inftype.equals(instance.gettype())) { curinstance = instance; break; } } } return curinstance; } }
2 获取bean类
根据spring
上下文得到某个接口的实现类。
public class contextutil implements applicationcontextaware { private static applicationcontext context; @override public void setapplicationcontext(applicationcontext applicationcontext) throws beansexception { contextutil.context = applicationcontext; } public static applicationcontext getcontext() { return context; } }
3 需要获取实例的接口类
public interface testinterface<t> { string gettype(); void testfunc(t t); }
4 testinterface
的一个实现类
public class testinterfaceimpl implements testinterface<string> { @override public string gettype() { return "1"; } @override public void testfunc(string s) { system.out.println("testinterfaceimpl -- 01"); } }
上一篇: 替换preg_replace.如何老是【吃掉】前面的一个字符.
下一篇: jsp页面中拆分值的方式