Posted java杩涢樁鏋舵瀯甯?/a>

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。

澶у濂斤紝鎴戞槸楂樺喎灏辨槸鑼冨効锛屽ソ涔呬笉瑙併€傝繃浜嗕竴涓厜妫嶈妭锛屼汉鐩稿綋鎳掓暎锛屼竴鏃舵病鍟ョ伒鎰燂紝鏂囩珷鏇存柊閫熷害杈冩參锛屾姳姝夈€傪煒婁粖澶╂垜浠户缁潵鑱婅璁℃ā寮忚繖涓瘽棰樸€傚墠闈㈠凡缁忚杩囧嚑涓ā寮忥紝濡傛灉娌℃湁闃呰杩囩殑鏈嬪弸鍙互鍥為【涓€涓嬨€?/p>

鍓嶆枃鍥為【

馃憠銆愬師鍒涖€?/span>
馃憠
馃憠銆愬師鍒涖€?/span>

馃憠銆愬師鍒涖€?/span>

馃憠銆愬師鍒涖€?/span>

馃憠

閭d箞锛屼粖澶╂垜浠鏉ヨ亰鐨勬槸閫傞厤鍣ㄦā寮?/strong>锛岃繖涓ā寮忓拰涓婄瘒璁茶繃鐨勪唬鐞嗘ā寮忎竴鏍凤紝涔熸槸灞炰簬GOF23鐨?span>缁撴瀯鍨嬫ā寮?/strong>涓殑涓€涓ā寮忋€?/p>

銆愬師鍒涖€戣璁捐妯″紡椋炰竴浼氬効|鈶﹂€傞厤鍣ㄦā寮?></p> 
 <h2 class=寮曞瓙

鉂?span>浣曚负閫傞厤鍣紵

寰堢粡鍏哥殑涓€涓緥瀛愶紝灏辨槸鎻掑骇锛屽涓嬪浘锛?/p>

銆愬師鍒涖€戣璁捐妯″紡椋炰竴浼氬効|鈶﹂€傞厤鍣ㄦā寮?></p> 
 <p class=鍋囪锛屼竴鍙扮數鑴戦渶瑕佺敤鐢碉紝浠栫殑鎻掑ご鏄袱椤规彃澶达紝浣嗘槸鍛紝鎻掑骇鍗村彧鏈変笁椤规彃瀛旂殑銆傛€庝箞鍔烇紵鎻掑骇灏卞湪閭i噷锛屾槸涓嶅彲鑳芥敼鍙樼殑銆傛垜浠€讳笉鑳戒负浜嗙數鑴戠敤涓數鎶婃暣涓數鑴戞崲浜嗗惂锛熶笉鐜板疄锛侀偅鎴戜滑甯哥敤鐨勫仛娉曞氨鏄拱涓€涓浆鎺ュご锛屼竴闈㈡槸涓ら」鎻掑瓟锛屼竴闈㈡槸涓夐」鎻掑瓟銆傝繖鏍峰氨寰堝ソ鐨勮В鍐充簡杩欎釜闂銆?/p>

杩欎釜鐢熸椿涓父瑙佺殑鍦烘櫙灏辨槸缁忓吀鐨勯€傞厤鍣ㄦā寮忕殑浣撶幇銆?/p>

閭g幇鍦ㄨ鎴戠敤浠g爜鏉ュ疄鐜颁竴涓嬶紝濡備笅锛?/p>

//涓夐」鎻掑骇
public class Dominate{
public void cost(){
... //鐢ㄧ數閫昏緫
}
}

//鐢佃剳
public interface Computer{
void run();
}

鐜板湪鐢佃剳杩愯闇€瑕佷娇鐢ㄧ數锛岃鐧戒簡锛?code class="mq-53">Computer鎴栬€咃紙瀹炵幇绫伙級鐨?code class="mq-54">run()闇€瑕佽皟鐢?code class="mq-55">Dominate鐨?code class="mq-56">cost()鏂规硶锛屾€庝箞鍔烇紵浣犲彲鑳戒細濡備笅瀹炵幇锛?/p>

public class Adaptor implements Computer extends Dominate{
public void run(){
cost();
}
}

涓婇潰浠g爜涓殑Adaptor鎻愪緵浜嗕竴涓腑闂寸殑閫傞厤鍣ㄨ鑹诧紝鍥犱负瑕佷互Computer鐨勬柟寮忓幓浣跨敤锛屾墍浠ラ渶瑕佸疄鐜?code class="mq-75">Computer鎺ュ彛锛屽洜涓哄叾run()鏂规硶闇€瑕佷娇鐢ㄥ埌Dominate鐨?code class="mq-78">cost()閫昏緫锛屾墍浠ワ紝閫氳繃缁ф壙Dominate鏂瑰紡灏卞彲浠ュ疄鐜拌繖涓渶姹傘€傝繖鏍蜂箣鍚庯紝鎴戦渶瑕佷娇鐢ㄧ數鑴戯紝鎴戜笉鍦ㄧ洿鎺ュ幓璋冪敤Computer鐨?code class="mq-81">run()浜嗭紝鍥犱负杩欎釜閲岄潰娌℃湁鐢碉紝鎴戦€氳繃璋冪敤Adaptor鐨?code class="mq-83">run()鏂规硶鍘讳娇鐢ㄧ數鑴戝氨鍙互浜嗐€?/p>

涓婇潰杩欐牱鐨勬柟寮忓緢濂界殑瑙e喅浜嗗洜涓烘彃瀛斾笉鍏煎鑰屽鑷寸殑闂銆傝繖绉嶆柟寮忔湁浠€涔堥棶棰樺悧锛?/p>

鎴戜滑鐭ラ亾锛孞ava鏄崟缁ф壙鐨勶紝涓婇潰閲囩敤缁ф壙鏂瑰紡鏉ヨ揪鍒拌皟鐢?code class="mq-86">Dominate鐨?code class="mq-87">cost()鏂规硶鐨勭洰鐨勶紝杩欐牱涔熷氨鎰忓懗鐫€Adaptor浠ュ悗鏃犳硶鍐嶇户鎵垮叾瀹冪殑绫绘潵鎵╁睍锛岃繖鎴栧鎴栧皯浼氬奖鍝嶅埌浠ュ悗鐨勬墿灞曟€с€?/p>

鏇村叧閿殑鏄紝杩樿寰楃涓€澶╄杩囩殑鍑犲ぇ璁捐鍘熷垯鍚楋紵杩欎釜鍦版柟灏卞張娑夊強鍒颁簡涓€涓璁″師鍒欙紝鍙仛缁勫悎鑱氬悎澶嶇敤鍘熷垯銆?/strong>

缁勫悎鑱氬悎澶嶇敤鍘熷垯鎻愬€★紝杞欢澶嶇敤浼樺厛浣跨敤缁勫悎鎴栬€呰仛鍚堝叧绯诲鐢紝灏戠敤缁ф壙鍏崇郴澶嶇敤銆?/p>

涓轰粈涔堝憿锛?/p>

杩欒竟鎴戜笉鐗瑰埆灞曞紑鍏充簬缁勫悎鍜岀户鎵跨殑闃愯堪銆備竴鑸潵璇达紝缁ф壙鐨勬柟寮忕敤浜庣湡鐨勬槸鍏锋湁鈥淚s锛岮鈥濈殑鐖跺瓙鍏崇郴銆傝€屾垜浠殑渚嬪瓙涓紝鎴戜滑鐨勯€傞厤鍣ㄥ彧鏄兂鍘昏皟鐢ㄦ彃搴х殑鐢ㄧ數閫昏緫锛屼絾瀹冩湰韬彲骞朵笉灞炰簬鎻掑骇鍝︼紵鑰屼笖缁ф壙鍏崇郴浼氬鑷寸被鍜岀被涔嬮棿鑰﹀悎鎬у澶э紝涓嶅埄浜庣被鐨勬墿灞曘€佸鐢ㄥ拰缁存姢銆?/p>

鍏跺疄绛変綘鐪嬪埌鍚庨潰鐨勪竴浜涙ā寮忥紝浣犱細瀵规鏇存湁浣撲細锛屽湪寰堝鍦哄悎涓嬶紝鐢ㄧ粍鍚堟柟寮忔墿灞曡璁★紝浼氭瘮缁ф壙鏂瑰紡鐏垫椿寰堝锛岀敋鑷冲ソ澶氭ā寮忓氨鏄敤缁勫悎妯″紡鏉ヨВ鍐崇户鎵挎柟寮忎笉鏄撴墿灞曠殑寮婄梾銆?/p>

鎵€浠ヤ笂闈緥瀛愶紝鎴戜滑鍙互浣跨敤缁勫悎鏂瑰紡鍔犱互鏀归€狅紝濡備笅锛?/p>

public class Adaptor implements Computer{
private Dominate dominate;
//鐪佺暐鏋勯€犲櫒
public void run(){
dominate.cost();
}
}

杩欐牱灏卞緢杞绘澗鐨勮В鍐充簡杩欎釜闂銆?/p>

閫傞厤鍣ㄦā寮?/span>

鍋氫釜灏忔€荤粨锛?span>閫傞厤鍣ㄦā寮?/strong>灏辨槸瑙e喅杩欐牱涓€绉嶅満鏅紝瀹㈡埛绔渶瑕侀€氳繃涓€绉嶆柟寮忥紙鎴栬€呮帴鍙h鑼冿級鍘昏闂垨鑰呬娇鐢ㄥ彟涓€涓凡缁忓瓨鍦ㄧ殑鎺ュ彛锛屼絾鏄敱浜庡悇绫诲師鍥狅紝娌℃湁鍔炴硶鐩存帴鍘昏皟鐢ㄣ€傝繖涓椂鍊欏彲浠ユ彁渚涗竴涓嬩腑闂村獟浠嬩綔涓洪€傞厤鍣ㄥ璞★紝鍦ㄥ叾鍐呴儴灏嗘帴鍙e仛涓€涓嬭浆鎹紝鐒跺悗瀹㈡埛绔氨鍙互椤哄埄鐨勯€氳繃璁块棶閫傞厤鍣ㄧ殑鏂瑰紡鍘昏闂洰鏍囨帴鍙d簡銆?/p>

閫傞厤鍣ㄦā寮忕殑瀹炵幇鏈変袱绉嶏紝灏辨槸涓婇潰灞曠ず鐨勪袱绉嶏紝涓€绉嶆槸閫氳繃缁ф壙鏂瑰紡锛屽彟涓€绉嶆槸閫氳繃缁勫悎鏂瑰紡瀹炵幇鐨勩€傝€冭檻鍒癑ava鐨勫崟缁ф壙鐗圭偣锛屽姞涓婄粍鍚堣仛鍚堝鐢ㄨ璁″師鍒欙紝涓€鑸兘浼氶噰鐢ㄧ粍鍚堟柟寮忓疄鐜般€?/p>

閫傞厤鍣ㄦā寮忕殑浼樼偣涔熷緢鏄庢樉锛屽畠浣垮緱鍦ㄤ笉闇€瑕佷慨鏀瑰凡鏈変唬鐮佺殑鍓嶆彁涓嬶紝鐩存帴閲嶇敤鐜版湁鐨勭被搴撲唬鐮併€傝€屼笖瀹炵幇璧锋潵寰堢畝鍗曪紝涔熷緢瀹规槗鐞嗚В銆傚彟澶栧浜庡鎴风鑰岃█锛岄€傞厤鍣ㄨ繖绉嶅吋瀹硅浆鎹笉鍚屾帴鍙g殑鏂瑰紡鏄湪鍏跺唴閮ㄥ疄鐜扮殑锛屽浜庡鎴风鑰岃█鏄畬鍏ㄩ€忔槑鐨勶紝瀹㈡埛绔棤闇€浜嗚В鐩爣鎺ュ彛鐨勭粏鑺傦紝鍙渶瑕佹寜鐓у綋鍓嶆帴鍙g殑瑙勮寖鍘昏皟鐢ㄥ嵆鍙€?/p>

瀹為檯搴旂敤鍦烘櫙

閫傞厤鍣ㄥ湪瀹為檯寮€鍙戜腑搴旂敤涔熸槸鐩稿綋骞挎硾銆備笅闈㈡垜涓惧嚑涓緢鍏稿瀷浣跨敤閫傞厤鍣ㄦā寮忕殑渚嬪瓙鏉ヨ鏄庯紝鐩镐俊澶у鐪嬪畬鍚庝細鏈夋洿鍔犳竻鏅扮殑璁よ瘑銆?/p>

榛樿閫傞厤鍣?/h3>

棣栧厛鎴戝厛璁蹭竴涓湁鐐圭壒娈婄殑瀹為檯搴旂敤鍦烘櫙锛岀浉淇″ぇ瀹堕兘鏇剧粡閬囧埌杩囥€?/p>

鍋囪鐜板湪鏈変竴涓狝鎺ュ彛锛岃繖涓帴鍙i噷闈㈠畾涔変簡闈炲父澶氱殑鎺ュ彛鏂规硶m1()锛?code class="mq-126">m2()锛?code class="mq-127">m3()......閽堝涓嶅悓鍔熻兘鐐癸紝鐒跺悗鍏跺疄鐜扮被涔熸槸鏍规嵁涓嶅悓鐨勫姛鑳藉A鎺ュ彛杩涜瀹炵幇锛屼絾鏄瘡涓疄鐜扮被鍙兘鍙渶瑕佸疄鐜板叾涓嚜宸卞叧娉ㄧ殑閭d釜鏂规硶鍗冲彲锛岃嚦浜庡叾浣欐棤鍏崇殑鏂规硶鎴戝苟涓嶆兂瀹炵幇銆備絾鏄疛ava璇硶闄愬埗锛屽鏋滀竴涓疄浣撶被瑕佸疄鐜颁竴涓帴鍙o紝蹇呴』闇€瑕佸疄鐜板叾鎵€鏈夋娊璞℃柟娉曘€傝繖涔熷氨鎰忓懗鐫€浠栦細灏嗚嚜宸卞叧娉ㄧ殑閭d釜鏂规硶瀹炵幇锛岃€岃嚦浜庡叾浣欎笉鍏冲績閮藉彧鑳界┖瀹炵幇銆傝繖鏍风殑閫犳垚浜嗘瀬澶х殑浠g爜鍐椾綑锛岃€屼笖杩欎簺鍐椾綑鐨勪唬鐮佹鏃犱紭闆呭彲瑷€锛岄櫎浜嗗崰鐢ㄧ┖闂村拰缇庤涓嶈捣浠讳綍浣滅敤銆傚涓嬪浘锛?/p>

銆愬師鍒涖€戣璁捐妯″紡椋炰竴浼氬効|鈶﹂€傞厤鍣ㄦā寮?></p> 
 <p class=杩欎釜鏃跺€欙紝鏈変竴绉嶆瘮杈冪壒娈婄殑閫傞厤鍣ㄦā寮忥紝鍙?span>榛樿閫傞厤鍣ㄦā寮?/strong>鏉ヨВ鍐宠繖涓棶棰樸€?/p>

鎬庝箞瑙e喅鍛紵

鍦ㄦ帴鍙g殑鐩存帴涓嬪眰锛屽畾涔変竴涓娊璞″眰浣滀负閫傞厤鍣紝灏嗘帴鍙g殑鎵€鏈夋柟娉曞叏閮ㄧ┖瀹炵幇銆傝€屾墍鏈夌殑鍏蜂綋瀹炵幇绫讳笉浼氬啀鐩存帴瀹炵幇椤跺眰鎺ュ彛浜嗭紝鑰屼笖鍘昏窡杩欎釜鎶借薄灞傛墦浜ら亾锛岃繖鏍风殑璇濓紝姣忎釜鍏蜂綋瀹炵幇绫诲彧闇€瑕佸疄鐜拌嚜宸卞叧娉ㄧ殑鏂规硶鍗冲彲銆傚涓嬶紝

銆愬師鍒涖€戣璁捐妯″紡椋炰竴浼氬効|鈶﹂€傞厤鍣ㄦā寮?></p> 
 <h3 class=JDK IO杞崲娴佺殑瀹炵幇

JDK鐨処O API涓浆鎹㈡祦InputStreamReader鍜?code class="mq-138">OutputStreamWriter涔熸槸搴旂敤浜嗛€傞厤鍣ㄦā寮忥紝瀹炵幇浜嗙敱瀛楄妭娴佸埌瀛楃娴佺殑杞崲锛屼笅闈㈡垜绠€鍗曠殑甯﹀ぇ瀹舵潵鐪嬬湅鍏跺疄鐜般€?/p>

OutputStreamWriter缁ф壙浜?code class="mq-141">Writer锛堢洰鏍囨帴鍙o級锛屽苟涓旈噸鍐欎簡Writer鎵€鏈夋牳蹇冪殑鏂规硶銆備絾鏄垜浠幇鍦ㄥ彧鑳芥彁渚涗竴涓瓧鑺傛祦OutputStream绫诲瀷锛?code class="mq-144">OutputStreamWriter鍐呬細灏嗗叾灏佽鎴愪负StreamEncoder瀵硅薄锛屽苟涓旇缃负OutputStreamWriter鐨勫睘鎬с€傝嚦浜庡皝瑁?code class="mq-147">StreamEncoder瀵硅薄鏄洜涓鸿繕闇€瑕佽€冭檻瀛楃闆嗙紪鐮佺殑闂锛岃繖涓笉鏄噸鐐广€傜劧鍚庢鏃讹紝瀹㈡埛绔幓璁块棶OutputStreamWriter鐨?code class="mq-149">write()绛夋柟娉曟椂锛屼細灏嗗叾濮旀墭缁?code class="mq-150">StreamEncoder瀵硅薄鐨勭浉鍏虫柟娉曟墽琛岋紝浠庤€屽疄鐜扮敱瀛楄妭娴佹搷浣滃埌瀛楃娴佹搷浣滅殑杞崲銆?/p>

寮€婧愭鏋朵腑鐨勮繍鐢?/h3>

鍙﹀锛屽紑婧愭鏋?code class="mq-153">Spring銆?code class="mq-154">Mybatis涓€傞厤鍣ㄦā寮忕殑搴旂敤涓嶈鍏舵暟銆?/p>

SpringMVC涓紝HandlerAdaptor灏辨槸涓€涓吀鍨嬩緥瀛愩€傚鏋滄湁娣卞叆浜嗚В杩嘢pringMVC鍘熺悊婧愮爜鐨勬湅鍙嬪簲璇ヤ細鐭ラ亾锛孲pringMVC涓墍鏈夌殑璇锋眰浼氳鍓嶇鎺у埗鍣?code class="mq-157">DispatcherServlet杞彂缁欐绾ф帶鍒跺櫒杩涜鍏蜂綋鐨勮姹傚鐞嗭紝SpringMVC灏嗗叾娆$骇鎺у埗鍣ㄩ兘绉颁箣涓?code class="mq-158">Handler锛屾垜浠钩鏃剁粷澶у鏁颁娇鐢ㄧ殑閮芥槸Controller灏辨槸鍏朵腑涔嬩竴銆傚緢澶氫汉鍙兘浼氳涓烘绾ф帶鍒跺櫒鍙湁Controller锛屽叾瀹?code class="mq-161">SpringMVC鐞嗚涓婃敮鎸佷换鎰忓绉嶆帶鍒跺櫒锛屽寘鎷琒truts2涓殑Action绛夈€傞偅涔堥棶棰樻潵浜嗭紝鍚勭被娆$骇鎺у埗鍣ㄥ疄鐜板師鐞嗕簲鑺卞叓闂紝濡備笅鍥撅紝SpringMVC濡備綍灏嗗叾缁熶竴鎶借薄鍛紵

銆愬師鍒涖€戣璁捐妯″紡椋炰竴浼氬効|鈶﹂€傞厤鍣ㄦā寮?></p> 
 <p class=杩欏叾涓殑鍏抽敭灏辨槸鍦ㄤ簬HandlerAdaptor杩欎釜缁勪欢锛屽惉鍚嶅瓧灏辩煡閬撹繖涓娇鐢ㄤ簡閫傞厤鍣ㄦā寮忋€傞偅浠栨槸鎬庝箞瀹炵幇鐨勫憿锛熸垜甯﹀ぇ瀹剁畝鍗曠湅涓€涓婼pringMVC鐨勫疄鐜般€?code class="mq-167">HandlerAdapter涓富瑕佹湁涓や釜鏂规硶锛?code class="mq-168">supports()鍜?code class="mq-169">handle()銆傚墠鑰呬細閫氳繃浼犲叆涓€涓叿浣撶殑Handler瀹炰緥杩涜鍒ゆ柇鍏剁被鍨嬶紝纭畾褰撳墠鐨?code class="mq-171">Handler鏄惁鍙互琚玈pringMVC鏀寔澶勭悊銆傚鏋滃彲浠ワ紝浼氶€氳繃handle()澶勭悊璇锋眰骞惰繑鍥?code class="mq-173">ModelAndView瀹炰緥杩涜鍚庣画瑙嗗浘瑙f瀽杩斿洖绛夊伐浣溿€傝繖鏍?code class="mq-174">DispatcherServlet鍦ㄥ仛璇锋眰杞彂鐨勬椂鍊欏氨涓嶉渶瑕佽€冭檻姣忎竴涓叿浣撶殑Handler鐨勫疄鐜颁簡锛屼粬鍙渶瑕佽窡涓€绯诲垪鐨?code class="mq-176">HandlerAdaptor鎵撲氦閬擄紝鑷充簬瀵?code class="mq-177">Handler鐨勭被鍨嬫牎楠岋紝杩樻湁鍏蜂綋鐨勮姹傚鐞嗭紝閮芥槸鍦?code class="mq-178">HandlerAdaptor鍐呴儴瀹炵幇锛屽浜?code class="mq-179">DispatcherServlet锛堟澶勪綔涓哄鎴风锛夊畬鍏ㄦ槸閫忔槑鐨勩€傚涓嬪浘锛?/p>

鍙﹀锛屽湪SpringMVC鍦ㄥ疄鐜板叾HandlerInterceptor鎷︽埅鍣ㄦ椂锛屼娇鐢ㄤ簡HandlerInterceptorAdapter锛岄【鍚嶆€濅箟涔熸槸鐢ㄥ埌浜嗛€傞厤鍣ㄦā寮忥紝鑰屼笖杩樻槸涓婇潰璁插埌杩囩殑榛樿閫傞厤鍣ㄦā寮忋€?/p>

鍚屾牱浣滀负浼樼鐨勫紑婧愭鏋禡ybatis涓€傞厤鍣ㄦā寮忎篃搴旂敤鐨勯潪甯稿箍锛屾渶鍏稿瀷鐨勫氨鏄疢ybatis鐨勬棩璁版ā鍧椾簡銆備紬鎵€鍛ㄧ煡锛孧ybatis鏀寔log4j绛夊悇澶у紑婧愭棩蹇楁鏋讹紝閭d箞鍚勫ぇ寮€婧愭棩蹇楁鏋跺簳灞傚疄鐜颁簲鑺卞叓闂紝浠栧張鏄€庝箞鍋氬埌缁熶竴鎶借薄鐨勫憿锛熷叾瀹炲拰涓婇潰SpringgMVC鐨?code class="mq-185">HandlerAdaptor鐨勬€濊矾鏄竴鏍风殑銆傜涓€鏂戣€岀煡鍏ㄨ惫鍚э紝鎶€鏈渶閲嶈鐨勫氨鏄妇涓€鍙嶄笁锛岀伒娲昏繍鐢ㄤ簡銆傞檺浜庣瘒骞咃紝杩欎袱涓殑鍘熺悊鎴戣繖杈瑰氨涓嶅搴熻瘽浜嗭紝澶у濡傛灉鏈夊叴瓒e彲浠ュ幓闃呰涓€涓嬪叾婧愮爜瀹炵幇銆?/p>

濂戒簡锛屼粖澶╁叧浜?span>閫傞厤鍣ㄦā寮?/strong>鐨勬妧鏈垎浜氨鍒版缁撴潫锛屼笅涓€绡囨垜浼氬垎浜彟涓€涓璁℃ā寮忊€斺€?span>瑁呴グ鑰呮ā寮?/strong>锛屼竴璧风户缁帰璁ㄨ璁℃ā寮忕殑濂ョ銆傚挶浠笉瑙佷笉鏁c€傪煒婐煈?/p>

鈥斺€斺€斺€?nbsp; e n d 鈥斺€斺€斺€?/span>

鍥炲銆?/strong>鏋舵瀯銆戦鍙栨灦鏋勫笀瑙嗛涓€濂椼€?/strong>


鍘熷垱浠庢潵涓嶅紑璧炶祻鏄洜涓烘垜瑙夊緱

浣犵殑鈥?span class="mq-201">鍦ㄧ湅鈥濓紝灏辨槸缁欐垜鏈€濂界殑璧炶祻^_^

以上是关于的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数