public void before(JoinPoint point) {
   Object target = point.getTarget();
   String method = point.getSignature().getName();
   Class<?>[] classz = target.getClass().getInterfaces();
   Class<?>[] parameterTypes =
       ((MethodSignature) point.getSignature()).getMethod().getParameterTypes();
   try {
     Method m = classz[0].getMethod(method, parameterTypes);
     if (m != null && m.isAnnotationPresent(DataSource.class)) {
       DataSource data = m.getAnnotation(DataSource.class);
       DynamicDataSourceHolder.setDataSource(data.value());
       if (log.isDebugEnabled()) {
         log.debug("DataSourceAspect:=======================" + data.value());
       }
     }
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }