어노테이션
/*
* 어노테이션은 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();
}