JAVA 주해 의 총화

7926 단어 자바C++cbeanC#
1. 자바 내장 주석 8] 5 A - B\# P9 Q\# f% v. D, |;e3 Q. z"A) p$ _%\     1. @ Target 은 이 주 해 를 어디 에 사용 하 는 지 표시 합 니 다. 가능 한 ElemenetType 인 자 는 다음 과 같 습 니 다.  ' v: g% p3 T6 b' }  C! r"_$ W             ElemenetType.CONSTRUCTOR   구조 자 성명  8 B* g( K"S* Z5 |  Z4 ]2 c7 E             ElemenetType.FIELD   도 메 인 성명 (enum 인 스 턴 스 포함)  : ?) c1 _! ~  E* l8 v             ElemenetType.LOCAL_VARIABLE   부분 변수 선언  ! b0 h% `"{* v, |6 S             ElemenetType.METHOD   방법 성명  ' Q: Q4 r+ |4 C, y  k) L5 q; |             ElemenetType.PACKAGE   패키지 성명  ' _0 X9 }9 P/P! L             ElemenetType.PARAMETER   매개 변수 선언  7 r' Z9 G9 k- l4 O/U6 w             ElemenetType.TYPE   클래스, 인터페이스 (주석 형식 포함) 또는 enum 성명\# S2 W: I (Q\# R8 U "V9 q\# D3 |   /s, N0 h% V2 H+ F* A4 H0 v      2. @ Retention 은 이 주석 정 보 를 어느 단계 에 저장 하 는 지 표시 합 니 다. 선택 할 수 있 는 RetentionPolicy 인 자 는 다음 과 같 습 니 다.  . y7 N7 {5 {$ D/i3 V) P6 f$ Q) |            RetentionPolicy.SOURCE   주 해 는 컴 파일 러 에 의 해 버 려 집 니 다.  : j- u- ]. o( V) `6 u# z/o            RetentionPolicy.CLASS   주 해 는 class 파일 에서 사용 할 수 있 지만 VM 에 버 려 집 니 다.  , X1 ~0 }+ L5 G1 K) O/k            RetentionPolicy.RUNTIME   VM 은 런 타임 에 도 주석 을 유지 하기 때문에 반사 메커니즘 을 통 해 주석 정 보 를 읽 을 수 있 습 니 다.\# N 'y, v.\# Z, H  W8 |7 D     * p  R4 j: {& A' y. o0 Z      3. @ Documented 는 이 주 해 를 javadoc 에 8 F "M 을 포함 합 니 다.  C1 @+ o$ y8 e: @! u1 e2 w . n( d$ L- N4 p- }      4. @ Inherited 는 하위 클래스 가 부모 클래스 의 주석 + h1 h - Y (y! q & J (@ $z% f $f2 U (C8 i "E3 l $r) 를 계승 할 수 있 도록 합 니 다.     5、@Deprecated  현재 요 소 는 사용 에 찬성 하지 않 음 을 나타 낸다.; T! | 6 S; v &: D + ^ + n5 s1 U8 j2 ^ 7 ~  R7 r      6、@Override  현재 방법 은 부모 클래스 를 덮어 쓰 는 방법 임 을 나타 낸다. (~: g & s! Q5 w/^ 4 y1 i 2 r! y: H9 k - n5 b\# N0 C     7、@SuppressWarnings  부적 절 한 컴 파 일 러 경고 메 시 지 를 닫 습 니 다.;? (X (f + L. [! q7 e "x + Q8 z! K * y3 Y2 w) ^\# C + n $J! s4 F! f;? 2 R\# n 'F: d. G/q7 d 2, Spring 내장 주석 3 k + N $}) j: R6 W (`/r $|  V- C8 |5 ~"{      1, @ Autowired 주해 9 x * I) A4 k8 j)% W: Z/{: t5 n\# X6 l8 w! i          byType 방법 으로 자동 으로 장 착 됩 니 다. 클래스 의 구성원 변수, 구성원 방법, 구조 자 에 적용 할 수 있 습 니 다. 기본 값 으로 @ Autowired 주 해 를 사용 하여 자동 으로 주입 할 때 Spring 용기 에 일치 하 는 후보 Bean 의 수 는 하나 여야 합 니 다. required = false 를 설정 하여 선택 할 수 있 습 니 다. 여러 종류의 일치 하 는 bean 이 존재 할 때 @ Qualifier 주 해 를 사용 할 수 있 습 니 다.설치 할 bean 을 명확 하 게 지정 합 니 다.) F6 [1 z6 r8 N3 + e3 q 7 N4 O 'D; Z6 d  g2 Z4 U# M"}) `  x 0 |; o# {& P2 f"P"J ' d4 e, T1 B6 `  m' q3 k* C2 P      2. @ Qualifier 주석 9 O; [, J, G * i 4 d0 D, R2 Q & o           @Qualifier ("Bean 의 이름")  빈 을 주입 할 이름 을 지정 합 니 다. 클래스 의 구성원 변수, 방법의 매개 변수, 구조 자 에 만 사용 할 수 있 는 매개 변 수 를 지정 합 니 다. @ Autowired 와 함께 사용 하면 자동 으로 설 치 된 정책 이 by Name 으로 변 경 됩 니 다. 3 9 j, o, i '@ 6 ^/E6 L 8 o9 N "S\# W & T3 B"Y;} + ~   주석 사용 범례:
   1. public class Person {
   2.         private Long id;
   3.         private String name;
   4.         private Address address;
   5.        
   6.         public Person(){
   7.                
   8.         }
   9.        
  10.         public Person(Long id, String name){
  11.                 this.id = id;
  12.                 this.name = name;
  13.         }
  14.

  15.         @Autowired(required=false)
  16.         public void setAddress(@Qualifier("address2")Address address) {
  17.                 this.address = address;
  18.         }
  19. }
 
   1. <!--       bean。              -->
   2. <context:component-scan base-package="com.cjm"/>
   3.

   4. <bean id="address1" class="model.Address" p:city="gz1" p:zipCode="111"/>
   5. <bean id="address2" class="model.Address" p:city="gz2" p:zipCode="222"/>
   6.

   7. <bean id="person" class="model.Person">
   8.         <constructor-arg index="0" value="111"/>
   9.         <constructor-arg index="1" value="cjm"/>
  10. </bean>
 
   1. @Target({ElementType.FIELD, ElementType.PARAMETER})
   2. @Retention(RetentionPolicy.RUNTIME)
   3. @Qualifier
   4. public @interface MyQulifier {
   5.         String value();
   6. }
 
   1. public class Person {
   2.         private Long id;
   3.         private String name;
   4.         private Address address;
   5.        
   6.         public Person(){
   7.                
   8.         }
   9.        
  10.         public Person(Long id, String name){
  11.                 this.id = id;
  12.                 this.name = name;
  13.         }
  14.

  15.         @Autowired
  16.         public void setAddress(@MyQulifier("a2")Address address) {
  17.                 this.address = address;
  18.         }
  19. }
 
   1. <bean id="address1" class="model.Address" p:city="gz1" p:zipCode="111">
   2.         <qualifier type="annotation.MyQulifier" value="a1"/>
   3. </bean>
   4.

   5. <bean id="address2" class="model.Address" p:city="gz2" p:zipCode="222">
   6.         <qualifier type="annotation.MyQulifier" value="a2"/>
   7. </bean>

 3 、 @ Component 주석 7 g3 C; Y0 T3 m2 ~ 3 K - w0 v) F0 ` 2 N, C          @Component ("Bean 의 이름")  주 해 를 통 해 하나의 종 류 를 피 관 빈 이 라 고 표시 합 니 다. 기본적으로 @ Component 를 통 해 정 의 된 빈 은 singleton 입 니 다. 다른 범위 의 빈 을 사용 하려 면 @ Scope 주석 을 통 해 목 표를 달성 할 수 있 습 니 다. 4r8 U:] 6 s0 r) E, {\# K/X% p  w8 ~0 u( u5 N0 X/E 1 O  l5 o! K% z/Z/]1 p/g6 y "H% c6 @! e* X. V) X      4, @ Scope 주해 2 Q  c; J8 B- k' s9 {"]2 |   C) L6 V* x- Q$ E9 p           @Scope ("Bean 의 역할 범위")  @ Scope 주 해 를 통 해 지 정 된 역할 영역 으로 합 니 다. BeanBean 의 역할 범 위 는 singleton, prototype 등 이 있 습 니 다.  R* j! O% A& c"j"L$ ] 7 ^2 D& E3 J( {6 N5 g; h 1 Z# P/@5 o9 x6 m+ |/b 0 z, r& F3 j, g      5, @ Controller 주해 $I (| & y $t\# G (s1 Q & c; {! R. K & x) E - V\# P% a, z5 {3 S "}; g! b5 m1 U) I7 b)}; x     6 、 @ Service 주석\# N) R5 S $O3 c1 D (x + p5 U1 I. l * a  K- O: O! P+ `0 b1 }   ?  `) q5 W. p  \/I7 X ; A! G, e5 m% `5 b4 O1 i5 s      7, @ Repository 주석, g6 M6 S5 V; t2 h5]; p4 B  z/g 'K - [(C * o $t! o! w2 t\# X, H) t6 p: |\# I3 e\# Q7 S0 ~, s' v (] 9 f. a 3, JSR - 250 규범 의 주해 (common - annotations. jar 패키지 의 지원 이 필요 함) 3 P & D3m  S6 r' v5 A 6 Q! e- V; l4 ~7 v# {"p. r      1, @ Resource 주석 2 U\# E, B9 c\# L! H - n $Y4 Q: l 'z5 L5 q "c) q          @Resource(name="person")  name 속성 은 주 입 된 Bean 의 이름 을 지정 하 는 데 사 용 됩 니 다. 2}. F/, h 'y; M. ~ 2 U * p & e9 X;}/x1 E (\\          @Resource(type=Person.class)  type 속성 은 주입 한 Bean 의 종 류 를 지정 하 는 데 사 용 됩 니 다. 8 d0 y1 H. U1 t4 W; m 5 ` 5 r - B8\\3 f, s, G3 R + o 1 ~ 2} * h/L 8 Y, R - u $d6 p + j! E: e6 ~  U6 @0 w      2, @ PostContsuct 주석 0 u  Y, b9 |9 P& O8 w: w% A ! i5 p8 G9 d2 f; q6 Z6 c7 z           관 리 된 Bean 의 초기 화 방법 을 지정 하 는 데 사용 되 며, Bean 의 init - method 속성 과 유사 합 니 다. 7 s1 M "w9 U - D 'W $f 2 a3 ^ 1 U3 E9 W  ]1 A$ X9 l( @0 D , x( G) Y, R9 V' b' O; J      3, @ PreDestory 주석) V4 x1 @ 'I - A + w\# A, I! w5 v & W + K $\5 Q6 p          관 리 된 Bean 의 분석 방법 을 지정 하 는 데 사용 되 며, 역할 은 Bean 의 destory - method 속성 과 유사 합 니 다. 8 T, @ & {/H.]. k + a6 h $J/b7 i/'  r + E - d "}% C5 h\# ^ + n 2 G% I3 q. G - i6 Z + x * A0 F (C - R3 F9 N0 T, C: v 4, AspectJ 내장 주석

좋은 웹페이지 즐겨찾기