티스토리 뷰
@Bean : Configuration 내에서 사용되는 어노테이션으로 특정 클래스 생성시 전처리를 하기 위해 사용되는 어노테이션으로 추정됩니다.
아래는 예제 입니다.
/* Bear.java */
public class Bear
{
private String name;
private String age;
/* SET, GET ... ETC... */
}
/* BearConfiguration.java */
@Configuration // 이 클래스가 Configuration 역할을 하는 클래스 임을 알리는 Annotation.
public class BearConfiguration
{
@Bean
public Bear bearFirstBean()
{
System.out.println(" 첫번째 빈");
Bear bear = new Bear();
bear.setName("테스트1");
bear.setAge(11);
return bear;
}
@Bean(name="secondBean")
public Bear bearSecondBean()
{
System.out.println(" 두번째 빈");
Bear bear2 = new Bear();
bear2.setName("테스트2");
bear2.setAge(22);
return bear2;
}
@Bean
public Bear bearFinalBean()
{
System.out.println(" 첫번째 빈");
Bear bear3 = new Bear();
bear3.setName("테스트3");
bear3.setAge(3);
return bear3;
}
}
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(BearConfiguration.class);
// 메서드 명 호출 + 업 캐스팅
Bear bear1 = (Bear) context.getBean("bearFirstBean");
// name 값으로 호출 + 클래스 타입 할당으로 자동 변환
Bear2 bear2 = context.getBean("secondBean",Bear.class);
// 메서드 명 호출 + 클래스 타입 할당으로 자동 변환
Bear3 bear3 = context.getBean("bearFinalBean", Bear.class);
}
}
메인 메서드에서 해당 빈을 얻어 왔을 때 Configuration 의 각 메서드가 실행되고 콘솔에 텍스트가 출력 됩니다.
빈을 호출하는 방법은 위와 같이 세 가지 방법이 있습니다.
적절히 활용하면 되겠습니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- k8s
- Java
- JMM
- JVM
- 자바 메모리 구조
- Java Memory Structure
- kubernetes
- Effective Java
- Delete
- POD
- Replication Controller
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함