JAVA 어노테이션

김예진·2022년 12월 8일
0

java

목록 보기
15/21

✨어노테이션이란?

-사전적 의미로는 '주석', 자바에선 특별한 의미를 담은 주석
-즉 자바코드에 주석처럼 달아 프로그램에게 추가적인 정보를 제공하는 메타데이터
-자바나 스프링이 제공해주는 것도 있고, 사용자가 직접 만들수도 있음

✨대표적인 어노테이션

@Component vs @Bean

@Component : 개발자가 직접 작성한 Class를 Bean으로 등록할 때 사용
-컴포넌트에 대한 추가정보가 없으면 class이름을 camelCase 변경한 것이 Bean ID로 사용
-@Component에 value이라는 값을 이용해서 Bean이름지정

@Component
public class Student {
	public Student() {
    	System.out.println("hi");
    }
}
@Component(value="mystudent")
public class Student {
	public Student() {
    	System.out.println("hi");
    }
 }

@Bean : 개발자가 직접 제어가 불가능한 외부라이브러리 등을 Bean으로 등록할때 사용
-ArrayList같은 라이브러리등을 Bean으로 등록하기 위해서는 별도로 해당 라이브러리 객체를 반환하는 Method를 만들고 @Bean Annotation을 사용하면 됨
-@Bean에 name이라는 값을 이용해서 자신이 원하는 id로 Bean등록

public class ApplicationConfig {
	@Bean(name="myarray")
    public ArrayList<String> array(){
    	return new ArrayList<String>();
    }
}

@Bean, @Configuration

-@Configuration: 1개이상의 Bean을 등록하고 있다고 명시할 때 사용
-즉, 해당클래스가 Bean구성 Class임을 알려줌
-그래서 @Bean을 사용하는 클래스의 경우 @Configuration꽈 같이 사용해야함

0개의 댓글