어노테이션

어노테이션

/*
 * 어노테이션은 4가지가 있다.
 *   @ 클래스 구분자  ElementType.TYPE(클래스 위에 골뱅이가 붙어야 함) 
 *   Class A
 *   {
 *    @ 멤버변수 구분자 ElementType.FIELD
 *    B b
 *    public A(@ B b) 매개변수 구분자  ElementType.PARAMETER
 *    @ 메소드 구분자  ElementType.METHOD
 *    public void aaa()
 *    @
 *    public void bbb()
 *   }
 */

package com.controller;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

//@Controller 로 호출

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)

public @interface Controller {
 public String value(); //@Controller(“mc“)에서 mc를 가져옴
 
//인터페이스 이므로 기능은 없음
 //컴파일까지만 유지:소스 RetentionPolicy.SOURCE
 //실행시에도 유지(프로그램 종료시까지 기능 유지) :런타임
}

package com.controller;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD})

public @interface RequestMapping {
 public String value();
}