Ïê½âJava»Øµ÷»úÖÆ (Callback) ½²½â+ʵÀý
JavaÖеĻص÷£¨callback£©ÊǺÜÖØÒªµÄÒ»¸ö¸ÅÄspringÕûºÏhibernate´óÁ¿Ê¹ÓÃÁËÕâÖÖ¼¼Êõ¡£
¾¿¾¹ÔõÑù²ÅÊǻص÷ÄØ£¿
ÕâÊÇÍøÉÏ×î¶à¼ûµ½µÄ˵Ã÷£º
1.class A,class B
2.class AʵÏÖ½Ó¿Úcallback
3.class BÓµÓÐÒ»¸ö²ÎÊýΪcallback½Ó¿ÚÀàÐ͵ĺ¯Êý
4.class AÔËÐÐʱµ÷ÓÃclass BÖеĺ¯Êý,ÒÔ×ÔÉí´«Èë²ÎÊý
5.class BÒÑÈ¡µÃA£¬¾Í¿ÉÒÔËæÊ±»Øµ÷AËùʵÏÖµÄcallback½Ó¿ÚÖеķ½·¨
ÏÂÃæÎÒ¾ÙÒ»¸öÀý×Ó£º
ÖйúµçÐÅ(ChinaTelecom)ÊÇÒÆ¶¯ÔËÓªÉÌÖ®Ò»£¬Ïë±Ø½üÁ½ÄêÂúÌì·ÉµÄ“ÌìÒí3G”´ó¼Ò¶¼ÖªµÀ°É¡£¿ÕÖÐÍø£¨KongNet£©ÊÇÄǸö×ÜÊǺ°“ÓÃÊÖ»ú¿´NBA”µÄ·þÎñÌṩÉÌ£¨ServiceProvider£¬¼ò³Æ“SP”£©¡£
ÒÆ¶¯ÔËÓªÉ̺ÍSPºÏ×÷²ÅÄÜΪÎÒÃǹã´óÒÆ¶¯Óû§Ìṩ¸÷ÖÖ·þÎñ¡£±ÈÈçÒôÀÖ£¬²ÊÁ壬ÊÖ»ú¿´NBAµÈµÈ¡£
ÕâÀïÓÐÒ»¸ö½Ó¿ÚServiceProvider£¬Ò²¾ÍÊÇCallback½Ó¿Ú£»
/**
* ÓëÖйúµçÐźÏ×÷µÄspʵÏִ˽ӿڼ´¿É
* Õâ¸ö¾ÍÊÇCallback½Ó¿Ú
* @author wanghe
*
*/
public interface ServiceProvider {
/**
* sp¿ÉÒÔ×Ô¶¨ÒåÌáʾ
*/
public void customHint();
}
Ò»¸öChinaTelecomÀ࣬¼´class B£»
/**
* ÖйúµçÐÅ
* @author wanghe
*
*/
public class ChinaTelecom {
private ServiceProvider sp;//callback½Ó¿Ú×÷ΪÊôÐÔ
public void setSp(ServiceProvider sp) {
this.sp = sp;
}
/**
* ³õʼ»¯
*/
public void init(){
System.out.println("Welcome, This is ChinaTelecom! ");
sp.customHint();//sp×Ô¶¨ÒåµÄ²Ù×÷
}
}
Ò»¸öKongNetÀ࣬¼´ class A
/**
* ·þÎñÌṩÉÌ(SP)--¿ÕÖÐÍø
* @author wanghe
*
*/
Ïà¹ØÎĵµ£º
ÎÊÌ⣺ÔÚ´æ´¢¹ý³ÌÖУ¬ÓÐʱ»áÓöµ½±È½Ï±ä̬µÄ¶«Î÷£¬ÈçÒ»¸ö´æ´¢¹ý³ÌÖÐÓÐoutput·µ»ØÖµ£¬ÓÐreturn·µ»ØÖµ£¬»¹ÓвéѯµÄ·µ»ØÖµTABLE£¬Óöµ½ÕâÑùµÄ´æ´¢¹ý³ÌÕæÊÇÓôÃÆ£¬Ò»´ÎÐÔ°ÑËùÓеķµ»ØÖµÈ¡³öÀ´»¹ÕæµÄÓеãÂé·³¡£
1¡¢ Ê×ÏÈÀ´¿´Õâ¸ö´æ´¢¹ý³Ì°É
CREATE PROCEDURE ParaTest
@paraout varchar(20) ......
package com.test.util;
import java.sql.*;
public class ConnectDB {
private Connection conn=null;
private PreparedStatement pt=null;
private ResultSet rs=null;
private String uname="sa";
private String upwd="sa";
private String url="jdbc:microsoft:sqlserv ......
ÊÂʵÉÏÍøÂç±à³Ì¼òµ¥µÄÀí½â¾ÍÊÇÁ½Ì¨¼ÆËã»úÏ໥ͨѶÊý¾Ý¶øÒÑ¡£¶ÔÓÚ³ÌÐòÔ±¶øÑÔ£¬È¥ÕÆÎÕÒ»ÖÖ±à³Ì½Ó¿Ú²¢Ê¹ÓÃÒ»ÖÖ±à³ÌÄ£ÐÍÏà¶Ô¾Í»áÏԵüòµ¥µÄ¶àÁË¡£Java SDKÌṩһЩÏà¶Ô¼òµ¥µÄApiÀ´Íê³ÉÕâЩ¹¤×÷£¬Socket¾ÍÊÇÆäÖÐÖ®Ò»¡£
¶ÔÓÚJava¶øÑÔ¡£ÕâЩApi´æÔÚÓëJava.netÕâ¸ö°üÀïÃæ¡£Òò´ËÖ»Òªµ¼ÈëÕâ¸ö°ü¾Í¿ÉÒÔ×¼±¸ÍøÂç±à³ÌÁË¡£ÍøÂç± ......
/*===================MXML´úÂë==================*/
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button label="²âÊÔArray" click="bk()"/>
<mx:Script>
<!--[CDATA[
import mx.collection ......