标签:反射

java类通过反射读写私有变量

发表于2年前(Apr 14, 2016 4:51:44 PM)  阅读 484  评论 0

分类: Java

标签: 反射 private 私有变量 私有方法 reflect

我们写代码时会出现很多private的属性和方法,不允许用户直接访问这些,而是通过public的接口来访问。根据软件设计的开闭原则,一般来说当软件需要修改时,是通过扩展来完成,而不是通过对原有代码修改,即对扩展开放,对修改关闭。

在使用别人写的类库时,可能会遇到需要读写私有变量,或方法的情况,出现这种情况通常都是因为该类库没有很好地考虑到用户可能遇到的情况,没提供扩展的方法,这时,我们可以通过java的放射机制来实现我们的需求。

设置私有变量工具类示例代码(其他类似):

package com.cangzhitao.common.util;

import java.lang.reflect.Field;

/**
 * Created by cangzhitao on 16/4/14.
 */
public class ReflectUtil {

    public static Object setFiled(Object tar
......

Spring配置多数据源进行数据同步

发表于3年前(Jan 20, 2015 4:59:00 PM)  阅读 4926  评论 4

分类: Java 数据库 案例

标签: 数据同步 annotation 多数据源 多事务 动态切换 AOP 反射 模型转换 AbstractRoutingDataSource PlatformTransactionManager

本文主要可以解决以下几个问题:

Spring如何配置多数据源、多事务,以及如何动态切换。

Spring AOP机制的运用,以及对同一个切面(Joint Point)多个处理方法(Advice)执行顺序的设置,即AOP的Order的设定。

自定义注解Annotation的实现以及使用。

使用Java反射机制配合Annotation实现异构模型之间的自动转换。