package net.spring.test;
import java.lang.reflect.Method;
import net.spring.util.LogInitiate;
import net.spring.util.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* @author chengli 無侵入式的可擴展框架:無需代碼中涉及Spring類,即可納入Spring容器進行管理
* 核心類BeanFactory作為依賴注入機制的實現基礎
*/
public class QuickStart {
public static void main(String[] args) {
// BasicConfigurator.configure();
LogInitiate.initialize();
Logger logger = new Logger(QuickStart.class);
try {
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"bean.xml");
// 從ctx中讀取的配置信息區分大小寫
// Spring通過依賴注入機制,將依賴關系從編碼中脫離,從而大大降低組件之間的耦合
// 通過接口來將調用者和實現者分離
Action action = (Action) ctx.getBean("UpperAction");
logger.info(action.execute(" Mis JohSon"));
action = (Action) ctx.getBean("LowerAction");
logger.info(action.execute(" Mis JohSon"));
} catch (Exception e) {
// e.printStackTrace();
logger.error(e.getMessage());
}
}
public Object reflection(String className,String methodName ,String nameValue) {
Class cls;
Object obj = null;
try {
cls = Class.forName(className);
Method mtd = cls.getMethod(methodName, new Class[] { String.class });
obj = (Object) cls.newInstance();
mtd.invoke(obj, new Object[] { nameValue });
return obj;
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
}