面接反射に関する知識点と反射応用シーンの1つ

1209 ワード

反射の概要
反射の原理を理解するには,まずタイプ情報とは何かを理解する必要がある.Javaでは、実行時にオブジェクトとクラスの情報を識別します.主に2つの方法があります.1つは、コンパイル時にすべてのタイプの情報を知っていると仮定した従来のRTTIです.もう1つは、実行時にクラスの情報を発見し、使用できる反射メカニズムです.JAVA反射機構は運転状態において、いずれのクラスに対しても、このクラスのすべての属性と方法を知ることができる.いずれのオブジェクトに対しても、そのメソッドとプロパティを呼び出すことができます.このような動的に取得された情報および動的にオブジェクトを呼び出す方法の機能をjava言語の反射メカニズムと呼ぶ.
反射の適用シーン:
反射でオブジェクトに値を付け、Mapやrequestの中のオブジェクトを取り出してオブジェクトに与えると、setやgetが10個省けます
   @Test
public void test1() throws Exception{
	        
		   	User p = new User();
	        Method methods[] = p.getClass().getMethods();
	        Map paramap=new HashMap();
	        paramap.put("Nickname", "123");
	        for(int i=0;i

 
もちろん書くときは直接タグ@Validを使ってもいいし、これを使ってもいいし、2つのbeanが互いに値をつけ合っていれば直接使ってもいいです
BeanUtils.copyProperties(publishCube, cube);
 
全体的に反射はあまり役に立たないような気がしますが、以前は反射を追跡デバッグに使ったことがあります.ファイルをエクスポートする過程で、getclassでこのオブジェクトがexecleなのかxmlなのかを確定したら、これにしましょう.