java动态代理有什么应用,举几个例子看看,可以的话解释一下
3个回答
展开全部
import java.lang.reflect.Proxy;
A. 创建一个实现接口InvocationHandler的类,他必须实现invoke方法
B. 创建被代理的类以及接口。
C. 通过Proxy的静态方法newProxyInstance(ClassLoader loader,Class【】interfaces,InvocationHandler handler)创建一个代理
D. 通过代理调用方法。
java动态代理:是在运行是生成的class对象,在生成时必须提供一组或一个interface给它,然后该class就宣称它实现了这些interface。你当然可以把该class的实例当做这些interface中的任何一个来用,当然,这个DynamicProxy其实就是一个Proxy,他不会替你做实质性的工作,在生成它的实例时你必须提供一个handler,由它接管实际的工作。因此,DynamicProxy必须实现InvocationHandler接口。
5) 一个动态代理了和一个InvocationHandler 实现关联的。每一个动态代理实例的调用都要通过InvocationHandler接口的handler(调用处理器)来调用,动态代理不做任何执行操作,只是在创建动态代理时,把要实现的接口和handler关联,动态代理要帮助被代理执行的任务,要转交给handler来执行。其实就是调用invoke方法。
A. 创建一个实现接口InvocationHandler的类,他必须实现invoke方法
B. 创建被代理的类以及接口。
C. 通过Proxy的静态方法newProxyInstance(ClassLoader loader,Class【】interfaces,InvocationHandler handler)创建一个代理
D. 通过代理调用方法。
java动态代理:是在运行是生成的class对象,在生成时必须提供一组或一个interface给它,然后该class就宣称它实现了这些interface。你当然可以把该class的实例当做这些interface中的任何一个来用,当然,这个DynamicProxy其实就是一个Proxy,他不会替你做实质性的工作,在生成它的实例时你必须提供一个handler,由它接管实际的工作。因此,DynamicProxy必须实现InvocationHandler接口。
5) 一个动态代理了和一个InvocationHandler 实现关联的。每一个动态代理实例的调用都要通过InvocationHandler接口的handler(调用处理器)来调用,动态代理不做任何执行操作,只是在创建动态代理时,把要实现的接口和handler关联,动态代理要帮助被代理执行的任务,要转交给handler来执行。其实就是调用invoke方法。
追问
我是提
java动态代理有什么应用,不是怎么去实现
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
页面动态获取从数据库里面取值。。
<table class="listTable" style="width:100%">
<tr>
<th width="10%">分类</th>
<th width="10%">检测项</th>
<th width="15%">检测子项</th>
<th width="30%">脆弱性</th>
<th width="10%">赋值</th>
<th width="10%">权值</th>
</tr>
<s:iterator value="vulnList" id="riskVuln">
<tr>
<td rowspan='<s:property value="rowSpan" />'><s:property value="codeName" /></td>
<s:iterator value="subList" id="riskVulnType">
<td rowspan='<s:property value="rowSpan" />'><s:property value="codeName" /></td>
<s:iterator value="subList" id="riskVulnItem">
<td>
<input type="hidden" name="riskVulnCode" value='<s:property value="codeValue" />'>
<input type="hidden" name="riskVulnSeq" value='<s:property value="sequence" />'>
<s:property value="codeName" />
</td>
<td><textarea cols="35" rows="3" name="riskVulnDesc"></textarea></td>
<td style="text-align:center;">
<select name="riskVulnScore">
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
</td>
<td><s:property value="sequence" /></td>
</tr>
</s:iterator>
</tr>
</s:iterator>
</tr>
</s:iterator>
</table>
</form>
</div>
<table class="listTable" style="width:100%">
<tr>
<th width="10%">分类</th>
<th width="10%">检测项</th>
<th width="15%">检测子项</th>
<th width="30%">脆弱性</th>
<th width="10%">赋值</th>
<th width="10%">权值</th>
</tr>
<s:iterator value="vulnList" id="riskVuln">
<tr>
<td rowspan='<s:property value="rowSpan" />'><s:property value="codeName" /></td>
<s:iterator value="subList" id="riskVulnType">
<td rowspan='<s:property value="rowSpan" />'><s:property value="codeName" /></td>
<s:iterator value="subList" id="riskVulnItem">
<td>
<input type="hidden" name="riskVulnCode" value='<s:property value="codeValue" />'>
<input type="hidden" name="riskVulnSeq" value='<s:property value="sequence" />'>
<s:property value="codeName" />
</td>
<td><textarea cols="35" rows="3" name="riskVulnDesc"></textarea></td>
<td style="text-align:center;">
<select name="riskVulnScore">
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
</td>
<td><s:property value="sequence" /></td>
</tr>
</s:iterator>
</tr>
</s:iterator>
</tr>
</s:iterator>
</table>
</form>
</div>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询