Java Annotation dzÎö2
Java»ù´¡-ѧϰʹÓÃAnnotation×¢½â¶ÔÏó
×¢½â(Ò²±»³ÆÎªÔªÊý¾Ý)ΪÎÒÃÇÔÚ´úÂëÖÐÌí¼ÓÐÅÏ¢ÌṩÁËÒ»ÖÖÐÎʽ»¯µÄ·½·¨,ʹÎÒÃÇ¿ÉÒÔÔÚÉÔºóij
¸öʱ¿Ì·Ç³£·½±ãµØÊ¹ÓÃÕâЩÊý¾Ý
1-1:»ù±¾Óï·¨
Java SE5ÄÚÖÃÈýÖÖ±ê×¼×¢½â
@Override:±íʾµ±Ç°µÄ·½·¨¶¨Ò彫¸²¸Ç³¬ÀàÖеķ½·¨.Èç¹ûÄ㲻СÐÄÆ´Ð´´íÎó,»òÕß·½·¨Ç©Ãû¶Ô²»Éϱ»¸²
¸ÇµÄ·½·¨,±àÒëÆ÷¾Í»á·¢³ö´íÎóÌáʾ
@Deprecated:Èç¹û³ÌÐòԱʹÓÃÁË×¢½âΪËüµÄÔªËØ,ÄÇô±àÒëÆ÷¾Í»á·¢³ö¾¯¸æÐÅÏ¢
@SupperessWarnings:¹Ø±Õ²»µ±µÄ±àÒëÆ÷¾¯¸æÐÅÏ¢.
Java SE5ÄÚÖÃËÄÖÖԪע½â
@Target:±íʾ¸Ã×¢½â¿ÉÒÔÓÃÓÚʲôµØ·½.¿ÉÄܵÄElementType²ÎÊý°üÀ¨:
1)CONSTRUCTOR:¹¹ÔìÆ÷µÄÉùÃ÷
2)FIELD:ÓòÉùÃ÷(°üÀ¨enumʵÀý)
3)LOCAL_VARIABLE:¾Ö²¿±äÁ¿ÉùÃ÷
4)METHOD:·½·¨ÉùÃ÷
5)PACKAGE:°üÉùÃ÷
6)PARAMETER:²ÎÊýÉùÃ÷
7)TYPE:Àà¡¢½Ó¿Ú(°üÀ¨×¢½âÀàÐÍ)»òenumÉùÃ÷
@Retention:±íʾÐèÒªÔÚʲô¼¶±ð±£´æ¸Ã×¢½âÐÅÏ¢.¿ÉÑ¡µÄRetentionPolicy²ÎÊý°üÀ¨:
1)SOURCE:×¢½â½«±»±àÒëÆ÷¶ªÆú
2)CLASS:×¢½âÔÚclassÎļþÖпÉÓÃ,µ«»á±»VM¶ªÆú
3)RUNTIME:VM½«ÔÚÔËÐÐÆÚÒ²±£Áô×¢½â,Òò´Ë¿ÉÒÔͨ¹ý·´Éä»úÖÆ¶Áȡע½âµÄÐÅÏ¢
@Documented:½«´Ë×¢½â°üº¬ÔÚJavadocÖÐ
@Inherited:ÔÊÐí×ÓÀà¼Ì³Ð¸¸ÀàÖеÄ×¢½â
´ó¶àÊýʱºò,³ÌÐòÔ±Ö÷ÒªÊǶ¨Òå×Ô¼ºµÄ×¢½â£¬²¢±àд×Ô¼ºµÄ´¦ÀíÆ÷À´´¦ÀíËüÃÇ.
----------------------------- UseCase.java -------------------------
package com;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)//ÓÃÀ´¶¨ÒåÄãµÄ×¢½â½«Ó¦ÓÃÔÚʲôµØ·½,±¾´¦Ó¦ÓÃΪ·½·¨
//ÓÃÀ´¶¨Òå¸Ã×¢½âÔÚÄÄÒ»¸ö¼¶±ð¿ÉÓÃ,ÔÚÔ´´úÂëÖÐ(source)ÀàÎļþÖÐ(class)»òÕßÔËÐÐʱ(runtime)
@Retention(RetentionPolicy.RUNTIME)
public @interface UseCase {
public int id();
public String description()default "no description";
}
----------------------------- PasswordUtils .java&nb
Ïà¹ØÎĵµ£º
MonoRailÊǾµäµÄMVCģʽ,ËùÒÔÆäÖÐÒ²¾ßÓÐÈý¸öÔªËØModel,Controller,View,ÆäÖÐMonoRailÊÇͨ¹ýUrlµØÖ·À´½âÎö
ÏàÓ¦µÄ²Ù×÷µÄ,Èçµ±Äã·ÃÎÊ:/home/index.rail,¶ÔÓ¦»áÖ´ÐÐHomeControllerÀàÖеÄIndex·½·¨,¶øÇÒ¿ÉÒÔ×Ô¶¯°ó¶¨²ÎÊýºÍ
RequestµÄÊý¾Ý,Èç·ÃÎÊ:/home/index.rail?id=1,Äã¿ÉÒÔÔÚHomeControllerÀàÖеÄIndex·½·¨Öж¨ÒåÒ»¸ö²ÎÊý ......
µÚÒ»²¿·Ö. Ìáʾ
ÎÒÐèÒª¶ÁÕâÆªÎÄÕÂÂð£¿
JavaÀà¼ÓÔØÆ÷¶ÔJavaϵͳµÄÔËÐÐÊÇÖÁ¹ØÖØÒªµÄ£¬µ«ÊÇÈ´³£³£±»ÎÒÃǺöÂÔ¡£JavaÀà¼ÓÔØÆ÷¸ºÔØ
ÔÚÔËÐÐʱ²éÕҺͼÓÔØÀà¡£×Ô¶¨ÒåÀà¼ÓÔØÆ÷¿ÉÒÔÍêÈ«¸Ä±äÀàµÄ¼ÓÔØ·½Ê½£¬ÒÔ×Ô¼ºÏ²»¶µÄ·½Ê½À´
¸öÐÔ»¯ÄãµÄJavaÐéÄâ»ú¡£±¾ÎļòÒªµÄ½éÉÜJavaÀà¼ÓÔØÆ÷£¬È»ºóͨ¹ýÒ»¸ö¹¹Ôì×Ô¶¨ÒåÀà¼ÓÔØÆ÷
µÄÀý×ÓÀ´ËµÃ÷£¬Õâ ......
JVM£º¼ÓÔØ¡¢Á´½ÓºÍ³õʼ»¯
JVMÒª½âÊÍJava×Ö½ÚÂ룬¾Í±ØÐë¶ÔËùÐèµÄÀàºÍ½Ó¿ÚÖ´ÐÐÈçÏÂ3²½²Ù×÷£º
(1) ¼ÓÔØ£ºJVMÔÚ¼ÓÔØÀàʱ£¬»á²éÕÒ¸ÃÀà»ò¸Ã½Ó¿ÚµÄ¶þ½øÖƱíʾ£¬²¢¸ù¾ÝÕÒµ½µÄ¶þ½øÖƱíʾ(ͨ³£ÊÇÓÉJava±àÒëÆ÷´´½¨µÄÀàÎļþ)´´½¨Ò»¸öClass¶ÔÏ󡣸ÃClass¶ÔÏóÖзâ×°ÁËÀà»ò½Ó¿ÚµÄÔËÐÐʱ״̬¡£
(2) Á´½Ó£ºÁ´½ÓÕâÒ»¹ý³ÌÊÇָȡµÃÒѼÓÔØµÄ ......
0¡¢ ÐèÒª±êʶ·û
a) ²»ÔÚº¯ÊýÄÚ
1¡¢ ·Ç·¨±í´ïʽ¿ªÊ¼
b) ¿ÉÄÜ:¶ªÊ§À¨ºÅ .
2. no data found
a) ¿ÉÄÜ:setInt(1,100)ÖÐ,ûÓÐ100Õâ¸öÖµ
3. ÕÒ²»µ½·ûºÅ
a) ¿ÉÄÜ:ûµ¼Èë°ü
4. Ö¸¶¨ÁËÎÞЧURL
a) ¿ÉÄÜ:Êý¾Ý¿âÃû»òIP´íÎó,¼´Á¬½Ó³ö´í
5. Àà·¾¶Ã»ÓÐÕÒµ½
a) ¿ÉÄÜ: ClassNotFoundException: oracle.jdbc.driver.Or ......
µÚ¶þÖÖ¼òµ¥µÄ·½·¨¾ÍÊÇ,ÔÚhttp://proguard.sourceforge.net/ÏÂÔØZIP°ü.×îеÄÊÇ4.5BETA
½âѹËõºó,Ë«»÷proguardgui.jar
ÔËÐÐÈí¼þ
×îɵ¹ÏµÄÉèÖ÷½·¨:ÉèÖúÃINPUT/OUTPUT,µãPROCESS.½á¹û¾Í³öÀ´ÁË.
Éú³ÉÁË.a.class.b.class ÓÃJAD·´±àÒë,JADÌáʾ:²»ÄÜÍêÕûµÄ·´±àÒë....,´ò¿ª±àÒëºóµÄ´úÂë±äÁ¿ºÍº¯ÊýÃûÈ«²¿±»Ì ......