本类主要用于根据类名反射得到类实例。类的名字根据解析得到的Action配置得到,得到Action配置中的class
属性值后就可以使用反射获取类实例了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| package com.snails.framework.action;
public class ActionManager { @SuppressWarnings("rawtypes") public static Action createAction(String className) { try { Class clazz = Thread.currentThread().getContextClassLoader().loadClass(className); if (null == clazz) { clazz = Class.forName(className); } return (Action) clazz.newInstance(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } }
|
项目完整代码请看MyMVC,欢迎fork学习,如果你觉得对你有帮助给我点个赞吧,当然也欢迎给我提意见(email:1527254027@qq.com,chendequanroob@gmail.com)。