티스토리 뷰

반응형

Spring Bean

IoC 컨테이너 안에 들어있는 객체로 필요할 때 IoC컨테이너에서 가져와서 사용한다. @Bean 을 사용하거나 xml설정을 통해 일반 객체를 Bean으로 등록할 수 있다.

이전 포스팅에서 xml설정을 통해 Bean을 생성하는 예제를 작성하였다. 이번글에는 Java코드에서 Bean을 생성해보겠다.

xml에 설정 -> GenericXmlApplicationContext()로 파싱해서 Bean을 가져온다
자바로 설정 -> AnnotationConfigApplicationContext()로 Bean을 가져온다.



  1. 아래와 같은 형태로 Bean 클래스를 작성한다.

    @Configuration 
    class 파일명{ 
     자바소스 
     @Bean 
     public 클래스 사용할id() { 
         데이터 넣기 
     } 
    }
  2. AnnotationConfigApplicationContext()메소드를 통해 "어노테이션"이 붙어있는 클래스에서 설정 정보읽어온다.



예제 코드

import java.util.ArrayList;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//MainClass에서 설정 자바 파일이야 하려면...
//여기에 어노테이션을 달아야한다.
@Configuration
public class ApplicationConfig {
    //빈이 들어있다 ->주입
    @Bean
    public Student student1(){
        //3개는 생성자  2개 setter
        ArrayList<String> ho=new ArrayList<String>();
        ho.add("독서");
        ho.add("식도락");
        Student st=new Student("홍길동", 12, ho );

        st.setHeight(178);
        st.setWeight(67.1);

        return st;//st는 student1에 대입된다.
                    //MainClass에서 student1을불러오면 st의 값이 대입된다.
    }
}
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainClass {
    public static void main(String[] args){
        AnnotationConfigApplicationContext ctx=new AnnotationConfigApplicationContext(ApplicationConfig.class);

        Student student1=ctx.getBean("student1",Student.class);
        System.out.println(student1.getName());
        ctx.close();
    }
}
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 31
글 보관함