Spring

@bean

point_Man 2023. 2. 5. 23:00

AplicationContext는 즉 스프링 컨테이너라고 생각하면 된다

스프링 컨테이너에 @Configuration @Bean의 어노테이션을 사용하여 bean을 등록하였고 

getBean메소드를 사용하여 등록된 bean을 조회하였다.

@Configuration
public class BeanCreate {

    @Bean
    public String bean1(){
        return new beanImpl().bean1();
    }
    @Bean
    public String bean2(){
        return new beanImpl().bean2();
    }
    @Bean
    public String bean3(){
        return new beanImpl().bean3();
    }
    @Bean
    public String bean4(){
        return new beanImpl().bean4();
    }
    @Bean
    public String bean5(){
        return new beanImpl().bean5();
    }
}
public static void main(String[] args){
    ApplicationContext ac = new AnnotationConfigApplicationContext(BeanCreate.class);

    System.out.println( ac.getBean("bean1", String.class));
    System.out.println( ac.getBean("bean2", String.class));
    System.out.println( ac.getBean("bean3", String.class));
    System.out.println( ac.getBean("bean4", String.class));
    System.out.println( ac.getBean("bean5", String.class));

}

AplicationContext는 몇가지 bean 등록 방식을 제공하는데 위와 같이 어노테이션을 사용하여 등록 할 수 있고

xml 방식으로 등록 할 수 있고 사용자가 지정하여 등록방식을 구현 할 수 있다.

현재는 xml방식은 잘 사용하지 않고 어노테이션 방식을 많이 사용한다.