Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Java Òì³£´¦ÀíµÄÎóÇøºÍ¾­Ñé×ܽá
 
À´Ô´£ºÍøÂç  ·¢²¼ÓÚ 2016-12-30
  1559  次浏览      27
 

±¾ÎÄ×ÅÖØ½éÉÜÁË Java Ò쳣ѡÔñºÍʹÓÃÖеÄһЩÎóÇø£¬Ï£Íû¸÷λ¶ÁÕßÄܹ»ÊìÁ·ÕÆÎÕÒì³£´¦ÀíµÄһЩעÒâµãºÍÔ­Ôò£¬×¢Òâ×ܽáºÍ¹éÄÉ¡£Ö»Óд¦ÀíºÃÁËÒì³££¬²ÅÄÜÌáÉý¿ª·¢ÈËÔ±µÄ»ù±¾ËØÑø£¬Ìá¸ßϵͳµÄ½¡×³ÐÔ£¬ÌáÉýÓû§ÌåÑ飬Ìá¸ß²úÆ·µÄ¼ÛÖµ¡£

ÎóÇøÒ»¡¢Òì³£µÄÑ¡Ôñ

ͼ 1. Òì³£·ÖÀà

ͼ 1 ÃèÊöÁËÒì³£µÄ½á¹¹£¬ÆäʵÎÒÃǶ¼ÖªµÀÒì³£·Ö¼ì²âÒì³£ºÍ·Ç¼ì²âÒì³££¬µ«ÊÇÔÚʵ¼ÊÖÐÓÖ»ìÏýÁËÕâÁ½ÖÖÒì³£µÄÓ¦Óá£ÓÉÓڷǼì²âÒ쳣ʹÓ÷½±ã£¬ºÜ¶à¿ª·¢ÈËÔ±¾ÍÈÏΪ¼ì²âÒ쳣ûʲôÓô¦¡£ÆäʵÒì³£µÄÓ¦ÓÃÇé¾°¿ÉÒÔ¸ÅÀ¨ÎªÒÔÏ£º

Ò»¡¢µ÷ÓôúÂë²»ÄܼÌÐøÖ´ÐУ¬ÐèÒªÁ¢¼´ÖÕÖ¹¡£³öÏÖÕâÖÖÇé¿öµÄ¿ÉÄÜÐÔÌ«¶àÌ«¶à£¬ÀýÈç·þÎñÆ÷Á¬½Ó²»ÉÏ¡¢²ÎÊý²»ÕýÈ·µÈ¡£ÕâЩʱºò¶¼ÊÊÓ÷Ǽì²âÒì³££¬²»ÐèÒªµ÷ÓôúÂëµÄÏÔʽ²¶×½ºÍ´¦Àí£¬¶øÇÒ´úÂë¼ò½àÃ÷ÁË¡£

¶þ¡¢µ÷ÓôúÂëÐèÒª½øÒ»²½´¦ÀíºÍ»Ö¸´¡£¼ÙÈ罫 SQLException ¶¨ÒåΪ·Ç¼ì²âÒì³££¬ÕâÑù²Ù×÷Êý¾Ýʱ¿ª·¢ÈËÔ±ÀíËùµ±È»µÄÈÏΪ SQLException ²»ÐèÒªµ÷ÓôúÂëµÄÏÔʽ²¶×½ºÍ´¦Àí£¬½ø¶ø»áµ¼ÖÂÑÏÖØµÄ Connection ²»¹Ø±Õ¡¢Transaction ²»»Ø¹ö¡¢DB ÖгöÏÖÔàÊý¾ÝµÈÇé¿ö£¬ÕýÒòΪ SQLException ¶¨ÒåΪ¼ì²âÒì³££¬²Å»áÇýʹ¿ª·¢ÈËԱȥÏÔʽ²¶×½£¬²¢ÇÒÔÚ´úÂë²úÉúÒì³£ºóÇåÀí×ÊÔ´¡£µ±È»ÇåÀí×ÊÔ´ºó£¬¿ÉÒÔ¼ÌÐøÅ׳ö·Ç¼ì²âÒì³££¬×èÖ¹³ÌÐòµÄÖ´ÐС£¸ù¾Ý¹Û²ìºÍÀí½â£¬¼ì²âÒì³£´ó¶à¿ÉÒÔÓ¦ÓÃÓÚ¹¤¾ßÀàÖС£

ÎóÇø¶þ¡¢½«Òì³£Ö±½ÓÏÔʾÔÚÒ³Ãæ»ò¿Í»§¶Ë¡£

½«Òì³£Ö±½Ó´òÓ¡ÔÚ¿Í»§¶ËµÄÀý×ÓÂżû²»ÏÊ£¬ÒÔ JSP ΪÀý£¬Ò»µ©´úÂëÔËÐгöÏÖÒì³££¬Ä¬ÈÏÇé¿öÏÂÈÝÆ÷½«Òì³£¶ÑÕ»ÐÅÏ¢Ö±½Ó´òÓ¡ÔÚÒ³ÃæÉÏ¡£Æäʵ´Ó¿Í»§½Ç¶ÈÀ´Ëµ£¬ÈκÎÒì³£¶¼Ã»ÓÐʵ¼ÊÒâÒ壬¾ø´ó¶àÊýµÄ¿Í»§Ò²¸ù±¾¿´²»¶®Òì³£ÐÅÏ¢£¬Èí¼þ¿ª·¢Ò²Òª¾¡Á¿±ÜÃ⽫Òì³£Ö±½Ó³ÊÏÖ¸øÓû§¡£

Çåµ¥ 1

 package com.ibm.dw.sample.exception;
/**
* ×Ô¶¨Òå RuntimeException
* Ìí¼Ó´íÎó´úÂëÊôÐÔ
*/
public class RuntimeException extends java.lang.RuntimeException {
//ĬÈÏ´íÎó´úÂë
public static final Integer GENERIC = 1000000;
//´íÎó´úÂë
private Integer errorCode;
public RuntimeException(Integer errorCode, Throwable cause) {
this(errorCode, null, cause);
}
public RuntimeException(String message, Throwable cause) {
//ÀûÓÃͨÓôíÎó´úÂë
this(GENERIC, message, cause);
}
public RuntimeException(Integer errorCode, String message, Throwable cause) {
super(message, cause);
this.errorCode = errorCode;
}
public Integer getErrorCode() {
return errorCode;
}
}

ÕýÈçʾÀý´úÂëËùʾ£¬ÔÚÒì³£ÖÐÒýÈë´íÎó´úÂ룬һµ©³öÏÖÒì³££¬ÎÒÃÇÖ»Òª½«Òì³£µÄ´íÎó´úÂë³ÊÏÖ¸øÓû§£¬»òÕß½«´íÎó´úÂëת»»³É¸üͨË×Ò×¶®µÄÌáʾ¡£ÆäʵÕâÀïµÄ´íÎó´úÂ뻹°üº¬ÁíÍâÒ»¸ö¹¦ÄÜ£¬¿ª·¢ÈËÔ±Òà¿ÉÒÔ¸ù¾Ý´íÎó´úÂë׼ȷµÄÖªµÀÁË·¢ÉúÁËʲôÀàÐÍÒì³£¡£

ÎóÇøÈý¡¢¶Ô´úÂë²ã´Î½á¹¹µÄÎÛȾ

ÎÒÃǾ­³£½«´úÂë·Ö Service¡¢Business Logic¡¢DAO µÈ²»Í¬µÄ²ã´Î½á¹¹£¬DAO ²ãÖлá°üº¬Å׳öÒì³£µÄ·½·¨£¬ÈçÇåµ¥ 2 Ëùʾ£º

Çåµ¥ 2

public Customer retrieveCustomerById(Long id) throw SQLException {
//¸ù¾Ý ID ²éѯÊý¾Ý¿â
}

ÉÏÃæÕâ¶Î´úÂëÕ¦Ò»¿´Ã»Ê²Ã´ÎÊÌ⣬µ«ÊÇ´ÓÉè¼ÆñîºÏ½Ç¶È×Ðϸ¿¼ÂÇһϣ¬ÕâÀïµÄ SQLException ÎÛȾµ½ÁËÉϲãµ÷ÓôúÂ룬µ÷ÓòãÐèÒªÏÔʽµÄÀûÓà try-catch ²¶×½£¬»òÕßÏò¸üÉϲã´Î½øÒ»²½Å׳ö¡£¸ù¾ÝÉè¼Æ¸ôÀëÔ­Ôò£¬ÎÒÃÇ¿ÉÒÔÊʵ±Ð޸ijɣº

Çåµ¥ 3

public Customer retrieveCustomerById(Long id) {
try{
//¸ù¾Ý ID ²éѯÊý¾Ý¿â
}catch(SQLException e){
//ÀûÓ÷Ǽì²âÒì³£·â×°¼ì²âÒì³££¬½µµÍ²ã´ÎñîºÏ
throw new RuntimeException(SQLErrorCode, e);
}finally{
//¹Ø±ÕÁ¬½Ó£¬ÇåÀí×ÊÔ´
}
}

ÎóÇøËÄ¡¢ºöÂÔÒì³£

ÈçÏÂÒì³£´¦ÀíÖ»Êǽ«Òì³£Êä³öµ½¿ØÖÆÌ¨£¬Ã»ÓÐÈκÎÒâÒå¡£¶øÇÒÕâÀï³öÏÖÁËÒì³£²¢Ã»ÓÐÖжϳÌÐò£¬½ø¶øµ÷ÓôúÂë¼ÌÐøÖ´ÐУ¬µ¼Ö¸ü¶àµÄÒì³£¡£

Çåµ¥ 4

public void retrieveObjectById(Long id){
try{
//..some code that throws SQLException
}catch(SQLException ex){
/**
*Á˽âµÄÈ˶¼ÖªµÀ£¬ÕâÀïµÄÒì³£´òÓ¡ºÁÎÞÒâÒ壬
½ö½öÊǽ«´íÎó¶ÑÕ»Êä³öµ½¿ØÖÆÌ¨¡£
* ¶øÔÚ Production »·¾³ÖУ¬ÐèÒª½«´íÎó¶ÑÕ»Êä³öµ½ÈÕÖ¾¡£
* ¶øÇÒÕâÀï catch ´¦ÀíÖ®ºó³ÌÐò¼ÌÐøÖ´ÐУ¬»áµ¼Ö½øÒ»²½µÄÎÊÌâ*/

ex.printStacktrace();
}
}

¿ÉÒÔÖØ¹¹³É£º

Çåµ¥ 5

public void retrieveObjectById(Long id){
try{
//..some code that throws SQLException
}
catch(SQLException ex){
throw new RuntimeException(¡°Exception in retieveObjectById¡±, ex);
}
finally{
//clean up resultset, statement, connection etc
}
}

Õâ¸öÎóÇø±È½Ï»ù±¾£¬Ò»°ãÇé¿ö϶¼²»»á·¸´ËµÍ¼¶´íÎó?¡£

ÎóÇøÎå¡¢½«Òì³£°üº¬ÔÚÑ­»·Óï¾ä¿éÖÐ

ÈçÏ´úÂëËùʾ£¬Òì³£°üº¬ÔÚ for Ñ­»·Óï¾ä¿éÖС£

Çåµ¥ 6

for(int i=0; i<100; i++){
try{
}catch(XXXException e){
//¡­.
}
}

ÎÒÃǶ¼ÖªµÀÒì³£´¦ÀíÕ¼ÓÃϵͳ×ÊÔ´¡£Ò»¿´£¬´ó¼Ò¶¼ÈÏΪ²»»á·¸ÕâÑùµÄ´íÎó¡£»»¸ö½Ç¶È£¬Àà A ÖÐÖ´ÐÐÁËÒ»¶ÎÑ­»·£¬Ñ­»·Öе÷ÓÃÁË B ÀàµÄ·½·¨£¬B ÀàÖб»µ÷Óõķ½·¨È´ÓÖ°üº¬ try-catch ÕâÑùµÄÓï¾ä¿é¡£ÍÊÈ¥ÀàµÄ²ã´Î½á¹¹£¬´úÂëºÍÉÏÃæÈç³öÒ»ÕÞ¡£

ÎóÇøÁù¡¢ÀûÓà Exception ²¶×½ËùÓÐDZÔÚµÄÒì³£

Ò»¶Î·½·¨Ö´Ðйý³ÌÖÐÅ׳öÁ˼¸¸ö²»Í¬ÀàÐ͵ÄÒì³££¬ÎªÁË´úÂë¼ò½à£¬ÀûÓûùÀà Exception ²¶×½ËùÓÐDZÔÚµÄÒì³££¬ÈçÏÂÀýËùʾ£º

Çåµ¥ 7

public void retrieveObjectById(Long id){
try{
//¡­Å׳ö IOException µÄ´úÂëµ÷ÓÃ
//¡­Å׳ö SQLException µÄ´úÂëµ÷ÓÃ
}catch(Exception e){
//ÕâÀïÀûÓûùÀà Exception ²¶×½µÄËùÓÐDZÔÚµÄÒì³£
£¬Èç¹û¶à¸ö²ã´ÎÕâÑù²¶×½£¬»á¶ªÊ§Ô­Ê¼Òì³£µÄÓÐЧÐÅÏ¢
throw new RuntimeException(¡°Exception in retieveObjectById¡±, e);
}
}

¿ÉÒÔÖØ¹¹³É

Çåµ¥ 8

public void retrieveObjectById(Long id){
try{
//..some code that throws RuntimeException,
IOException, SQLException
}catch(IOException e){
//½ö½ö²¶×½ IOException
throw new RuntimeException
(/*Ö¸¶¨ÕâÀï IOException ¶ÔÓ¦µÄ´íÎó´úÂë*/code,
¡°Exception in retieveObjectById¡±, e);
}catch(SQLException e){
//½ö½ö²¶×½ SQLException
throw new RuntimeException
(/*Ö¸¶¨ÕâÀï SQLException
¶ÔÓ¦µÄ´íÎó´úÂë*/code,¡°Exception in retieveObjectById¡±, e);
}
}

ÎóÇøÆß¡¢¶à²ã´Î·â×°Å׳ö·Ç¼ì²âÒì³£

Èç¹ûÎÒÃÇÒ»Ö±¼á³Ö²»Í¬ÀàÐ͵ÄÒì³£Ò»¶¨Óò»Í¬µÄ²¶×½Óï¾ä£¬ÄǴ󲿷ÖÀý×Ó¿ÉÒÔÈÆ¹ýÕâÒ»½ÚÁË¡£µ«ÊÇÈç¹û½ö½öÒ»¶Î´úÂëµ÷ÓûáÅ׳öÒ»ÖÖÒÔÉϵÄÒ쳣ʱ£¬ºÜ¶àʱºòûÓбØÒªÃ¿¸ö²»Í¬ÀàÐ굀 Exception дһ¶Î catch Óï¾ä£¬¶ÔÓÚ¿ª·¢À´Ëµ£¬ÈκÎÒ»ÖÖÒì³£¶¼×㹻˵Ã÷Á˳ÌÐòµÄ¾ßÌåÎÊÌâ¡£

Çåµ¥ 9

try{
//¿ÉÄÜÅ׳ö RuntimeException¡¢IOExeption »òÕ߯äËü£»
//×¢ÒâÕâÀïºÍÎóÇøÁùµÄÇø±ð£¬
ÕâÀïÊÇÒ»¶Î´úÂëÅ׳ö¶àÖÖÒì³£¡£
ÒÔÉÏÊǶà¶Î´úÂ룬¸÷×ÔÅ׳ö²»Í¬µÄÒì³£
}catch(Exception e){
//Ò»Èç¼ÈÍùµÄ½« Exception ת»»³É RuntimeException£¬
µ«ÊÇÕâÀïµÄ e ÆäʵÊÇ RuntimeException µÄʵÀý£¬
ÒѾ­ÔÚǰ¶Î´úÂëÖзâ×°¹ý
throw new RuntimeException(/**/code, /**/, e);
}

Èç¹ûÎÒÃÇÈçÉÏÀýËùʾ£¬½«ËùÓÐµÄ Exception ÔÙת»»³É RuntimeException£¬ÄÇôµ± Exception µÄÀàÐÍÒѾ­ÊÇ RuntimeException ʱ£¬ÎÒÃÇÓÖ×öÁËÒ»´Î·â×°¡£½« RuntimeException ÓÖÖØÐ·â×°ÁËÒ»´Î£¬½ø¶ø¶ªÊ§ÁËÔ­ÓÐµÄ RuntimeException Я´øµÄÓÐЧÐÅÏ¢¡£

½â¾ö°ì·¨ÊÇÎÒÃÇ¿ÉÒÔÔÚ RuntimeException ÀàÖÐÌí¼ÓÏà¹ØµÄ¼ì²é£¬È·ÈϲÎÊý Throwable ²»ÊÇ RuntimeException µÄʵÀý¡£Èç¹ûÊÇ£¬½«¿½±´ÏàÓ¦µÄÊôÐÔµ½Ð½¨µÄʵÀýÉÏ¡£»òÕßÓò»Í¬µÄ catch Óï¾ä¿é²¶×½ RuntimeException ºÍÆäËüµÄ Exception¡£¸öÈËÆ«ºÃ·½Ê½Ò»£¬ºÃ´¦²»ÑÔ¶øÓ÷¡£

ÎóÇø°Ë¡¢¶à²ã´Î´òÓ¡Òì³£

ÎÒÃÇÏÈ¿´Ò»ÏÂÏÂÃæµÄÀý×Ó£¬¶¨ÒåÁË 2 ¸öÀà A ºÍ B¡£ÆäÖÐ A ÀàÖе÷ÓÃÁË B ÀàµÄ´úÂ룬²¢ÇÒ A ÀàºÍ B ÀàÖж¼²¶×½´òÓ¡ÁËÒì³£¡£

Çåµ¥ 10

public class A {
private static Logger logger = LoggerFactory.getLogger(A.class);
public void process(){
try{
//ʵÀý»¯ B À࣬¿ÉÒÔ»»³ÉÆäËü×¢ÈëµÈ·½Ê½
B b = new B();
b.process();
//other code might cause exception
} catch(XXXException e){
//Èç¹û B Àà process ·½·¨Å׳öÒì³££¬
Òì³£»áÔÚ B ÀàÖб»´òÓ¡£¬ÔÚÕâÀïÒ²»á±»´òÓ¡£¬´Ó¶ø»á´òÓ¡ 2 ´Î
logger.error(e);
throw new RuntimeException
(/* ´íÎó´úÂë */ errorCode, /*Òì³£ÐÅÏ¢*/msg, e);
}
}
}
public class B{
private static Logger logger = LoggerFactory.getLogger(B.class);
public void process(){
try{
//¿ÉÄÜÅ׳öÒì³£µÄ´úÂë
}
catch(XXXException e){
logger.error(e);
throw new RuntimeException
(/* ´íÎó´úÂë */ errorCode, /*Òì³£ÐÅÏ¢*/msg, e);
}
}
}

ͬһ¶ÎÒì³£»á±»´òÓ¡ 2 ´Î¡£Èç¹û²ã´ÎÔÙ¸´ÔÓÒ»µã£¬²»È¥¿¼ÂÇ´òÓ¡ÈÕÖ¾ÏûºÄµÄϵͳÐÔÄÜ£¬½ö½öÔÚÒì³£ÈÕÖ¾ÖÐÈ¥¶¨Î»Òì³£¾ßÌåµÄÎÊÌâÒѾ­¹»Í·ÌÛµÄÁË¡£

Æäʵ´òÓ¡ÈÕÖ¾Ö»ÐèÒªÔÚ´úÂëµÄ×îÍâ²ã²¶×½´òÓ¡¾Í¿ÉÒÔÁË£¬Òì³£´òÓ¡Ò²¿ÉÒÔд³É AOP£¬Ö¯Èëµ½¿ò¼ÜµÄ×îÍâ²ã¡£

ÎóÇø¾Å¡¢Òì³£°üº¬µÄÐÅÏ¢²»Äܳä·Ö¶¨Î»ÎÊÌâ

Òì³£²»½öÒªÄܹ»Èÿª·¢ÈËÔ±ÖªµÀÄÄÀï³öÁËÎÊÌ⣬¸ü¶àʱºò¿ª·¢ÈËÔ±»¹ÐèÒªÖªµÀÊÇʲôԭÒòµ¼ÖµÄÎÊÌ⣬ÎÒÃÇÖªµÀ java .lang.Exception ÓÐ×Ö·û´®ÀàÐͲÎÊýµÄ¹¹Ôì·½·¨£¬Õâ¸ö×Ö·û´®¿ÉÒÔ×Ô¶¨Òå³ÉͨË×Ò×¶®µÄÌáʾÐÅÏ¢¡£

¼òµ¥µÄ×Ô¶¨ÒåÐÅÏ¢¿ª·¢ÈËÔ±Ö»ÄÜÖªµÀÄÄÀï³öÏÖÁËÒì³££¬µ«ÊǺܶàµÄÇé¿öÏ£¬¿ª·¢ÈËÔ±¸üÐèÒªÖªµÀÊÇʲô²ÎÊýµ¼ÖÂÁËÕâÑùµÄÒì³£¡£Õâ¸öʱºòÎÒÃǾÍÐèÒª½«·½·¨µ÷ÓõIJÎÊýÐÅÏ¢×·¼Óµ½×Ô¶¨ÒåÐÅÏ¢ÖС£ÏÂÀýÖ»ÁоÙÁËÒ»¸ö²ÎÊýµÄÇé¿ö£¬¶à¸ö²ÎÊýµÄÇé¿öÏ£¬¿ÉÒÔµ¥¶Àдһ¸ö¹¤¾ßÀà×éÖ¯ÕâÑùµÄ×Ö·û´®¡£

Çåµ¥ 11

public void retieveObjectById(Long id){
try{
//..some code that throws SQLException
}catch(SQLException ex){
//½«²ÎÊýÐÅÏ¢Ìí¼Óµ½Òì³£ÐÅÏ¢ÖÐ
throw new RuntimeException
(¡°Exception in retieveObjectById with Object Id :¡±+ id, ex);
}
}

ÎóÇøÊ®¡¢²»ÄÜԤ֪DZÔÚµÄÒì³£

ÔÚд´úÂëµÄ¹ý³ÌÖУ¬ÓÉÓÚ¶Ôµ÷ÓôúÂëȱ·¦Éî²ã´ÎµÄÁ˽⣬²»ÄÜ׼ȷÅжÏÊÇ·ñµ÷ÓõĴúÂë»á²úÉúÒì³££¬Òò¶øºöÂÔ´¦Àí¡£ÔÚ²úÉúÁË Production Bug Ö®ºó²ÅÏëÆðÀ´Ó¦¸ÃÔÚij¶Î´úÂë´¦Ìí¼ÓÒì³£²¹×½£¬ÉõÖÁ²»ÄÜ׼ȷָ³ö³öÏÖÒì³£µÄÔ­Òò¡£Õâ¾ÍÐèÒª¿ª·¢ÈËÔ±²»½öÖªµÀ×Ô¼ºÔÚ×öʲô£¬¶øÇÒҪȥ¾¡¿ÉÄܵÄÖªµÀ±ðÈË×öÁËʲô£¬¿ÉÄܻᵼÖÂʲô½á¹û£¬´ÓÈ«¾ÖÈ¥¿¼ÂÇÕû¸öÓ¦ÓóÌÐòµÄ´¦Àí¹ý³Ì¡£ÕâЩ˼Ïë»áÓ°ÏìÎÒÃǶԴúÂëµÄ±àдºÍ´¦Àí¡£

ÎóÇøÊ®Ò»¡¢»ìÓöàÖÖµÚÈý·½ÈÕÖ¾¿â

ÏÖÈç½ñ Java µÚÈý·½ÈÕÖ¾¿âµÄÖÖÀàÔ½À´Ô½¶à£¬Ò»¸ö´óÏîÄ¿ÖлáÒýÈë¸÷ÖÖ¸÷ÑùµÄ¿ò¼Ü£¬¶øÕâЩ¿ò¼ÜÓÖ»áÒÀÀµ²»Í¬µÄÈÕÖ¾¿âµÄʵÏÖ¡£×îÂé·³µÄÎÊÌâµ¹²»ÊÇÒýÈëËùÓÐÐèÒªµÄÕâЩÈÕÖ¾¿â£¬ÎÊÌâÔÚÓÚÒýÈëµÄÕâЩÈÕÖ¾¿âÖ®¼ä±¾Éí²»¼æÈÝ¡£Èç¹ûÔÚÏîÄ¿³õÆÚ¿ÉÄÜ»¹ºÃ½â¾ö£¬¿ÉÒÔ°ÑËùÓдúÂëÖеÄÈÕÖ¾¿â¸ù¾ÝÐèÒªÖØÐÂÒýÈëÒ»±é£¬»òÕß»»Ò»Ì׿ò¼Ü¡£µ«ÕâÑùµÄ³É±¾²»ÊÇÿ¸öÏîÄ¿¶¼³ÐÊܵįðµÄ£¬¶øÇÒÔ½ÊÇËæ×ÅÏîÄ¿µÄ½øÐУ¬ÕâÖÖ·çÏÕ¾ÍÔ½´ó¡£

ÔõôÑù²ÅÄÜÓÐЧµÄ±ÜÃâÀàËÆµÄÎÊÌâ·¢ÉúÄØ£¬ÏÖÔڵĴó¶àÊý¿ò¼ÜÒѾ­¿¼Âǵ½ÁËÀàËÆµÄÎÊÌ⣬¿ÉÒÔͨ¹ýÅäÖà Properties »ò xml Îļþ¡¢²ÎÊý»òÕßÔËÐÐʱɨÃè Lib ¿âÖеÄÈÕ־ʵÏÖÀà£¬ÕæÕýÔÚÓ¦ÓóÌÐòÔËÐÐʱ²ÅÈ·¶¨¾ßÌåÓ¦ÓÃÄĸöÌØ¶¨µÄÈÕÖ¾¿â¡£

Æäʵ¸ù¾Ý²»ÐèÒª¶à²ã´Î´òÓ¡ÈÕÖ¾ÄÇÌõÔ­Ôò£¬ÎÒÃǾͿÉÒÔ¼ò»¯ºÜ¶àÔ­±¾µ÷ÓÃÈÕÖ¾´òÓ¡´úÂëµÄÀà¡£ºÜ¶àÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔÀûÓÃÀ¹½ØÆ÷»òÕß¹ýÂËÆ÷ʵÏÖÈÕÖ¾µÄ´òÓ¡£¬½µµÍ´úÂëά»¤¡¢Ç¨ÒƵijɱ¾¡£

½áÊøÓï

ÒÔÉÏ´¿Êô¸öÈ˵ľ­ÑéºÍ×ܽᣬÊÂÎï¶¼ÊDZçÖ¤µÄ£¬Ã»Óоø¶ÔµÄÔ­Ôò£¬ÊʺÏ×Ô¼ºµÄ²ÅÊÇ×îÓÐЧµÄÔ­Ôò¡£Ï£ÍûÒÔÉϵĽ²½âºÍ·ÖÎö¿ÉÒÔ¶ÔÄúÓÐËù°ïÖú¡£

   
1559 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ