没什么直接关系,这个是互用关系,估计你是在看数据库的无缝迁移部分.
我猜测一下给你介绍吧,比如你配置文件里有一个字段可以配置 DataBase="SqlServer" 这样你就必须有一个 SqlServer.*.dll 或 SqlServer.dll 或相关联的库,然后程序读入配置信息,通过配置的 SqlServer 来动态引用这个库,如下:
private static Assembly GetFileAssembly()
{
if (FileAssembly.Count == 0)
{
GetDalFileInfo()
FileAssembly.Add(Assembly.LoadFrom(BinPath + "Bin\\" + DALName + ".dll"))
return FileAssembly[0]
}
else
{
return FileAssembly[0]
}
}
其他未关联部分不用考虑,这部分代码主要是说明动态引用一个库文件.
然后通过这个库文件,来制定一个执行指定的类下面的制定方法,需要反射出改库的名称空间及类名,如下:
private static void ReflectionOrder()
{
Type DALClass = GetFileAssembly().GetType(DALName + ".Order")
m_Order.Add((IDAL.IOrder)Activator.CreateInstance(DALClass))
}
上面代码是获得指定名称空间的 Order 类,并保存为 IOrder 接口类.
然后主程序就可以通过接口访问这个类或类中的成员.
现在说的这个没有涉及到数据库迁移部分.但是已经完成了数据库迁移所需要的必备条件.
如果你想将数据库从 SqlServer 转为 MySql 的话,第一,你要写一个 MySql.*.dll 或 MySql.dll 或相关连的类库,然后类库中分别提供与 SqlServer 相同的类,然后所有相同的类都要继承自相应的接口并实现制定的方法等.
最后的 *** 作就是重新初始化一次你缓存了接口类的数据.
我水平比较低,而且说话总喜欢唠叨,你就讲究着看吧..
JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。
Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。
Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,在运行时调用任意一个对象的方法,生成动态代理。
扩展资料:
JAVA中反射实例:
1、Class superClass=clazz.getSuperclass()//获取父类。
System.out.println("getSuperclass:"+superClass)。
2、Class[] interfaces=clazz.getInterfaces()//获取实现接口。
System.out.println("getInterfaces:"+interfaces.length)。
3、Constructor[] cons=clazz.getConstructors()//构造方法。
System.out.println("getConstructors:"+cons.length)。
参考资料来源:百度百科: JAVA反射机制
一、IoC(Inversionofcontrol):控制反转1、IoC:概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean二、AOP(Aspect-OrientedProgramming):...欢迎分享,转载请注明来源:内存溢出
评论列表(0条)