反射实现方法扩展
String interfaceClassString = MdpSysConfig.getInterfaceClass();
/* 206 / if (interfaceClassString != null) {
/ / try
/ / {
/ 209 / Class<?> interfaceClass = Class.forName(interfaceClassString);
/ 210 / AbstractMdpSynchDataInterceptor mdpSynchDataInterceptor = (AbstractMdpSynchDataInterceptor)interfaceClass.newInstance();
/ 211 / mdpSynchDataInterceptor.interceptUpdateData(tableInfo, map);
/ / } catch (Exception e) {
/ 213 / logger.error(“CommonSynchDao.updateData(), AbstractMdpSynchDataInterceptor 调用失败:” + e.getMessage());
/ /
/ 215 / throw new MdpSynchException(“CommonSynchDao.updateData(), AbstractMdpSynchDataInterceptor 调用失败:” + e.getMessage());
/ */ }
springcontex实现
String interfaceClass = synchConfig.getInterfaceClass();
if (interfaceClass != null) {
AbstractMdpSynchDataInterceptor interceptor = (AbstractMdpSynchDataInterceptor) SpringContextUtil
.getBean(Class.forName(interfaceClass));
interceptor.interceptInsertData(tableInfo, map);
}
该博客讲述了如何利用Spring的配置文件来实现方法扩展。首先,通过反射获取接口类并实例化,然后调用接口中定义的拦截更新数据的方法。如果出现异常,则记录错误日志并抛出异常。
9665

被折叠的 条评论
为什么被折叠?



