bean 3

@Bean, @Configuration, @ComponentScan, @Import 정리

우리가 애플리케이션을 만들기 위해서는"어떤 클래스의 오브젝트를 만들고 그들을 어떻게 연결할 것인가?"에 대한 정보가 필요하다.이 구성 정보를 스프링에게 전달하는 여러 가지 방법이 있는데,컨테이너 초기화 과정에서 빈을 동적으로 생성하도록 약속된 애노테이션들에 대해 알아보자. Bean을 등록시키는 중요 애노테이션1. @Bean@Configurationpublic class PaymentConfig { @Bean public PaymentService paymentService() { return new PaymentService(); }}@Bean 애노테이션이 붙어있는 메소드는 'Bean을 만드는 메소드'를 의미한다. 쉽게 return 되는 객체가 빈으로 등록된다고 이해하면 된다..

Spring 2025.03.19

Bean이란? 그리고 Spring의 싱글톤 활용(singleton registry)

빈(Bean) 이란?Bean이란 컴포넌트 모델에서 유래한 JavaBeans에서 따온 단어이다.컴포넌트 모델(Component Model)은 모듈화, 재사용성, 유지 보수성을 위해 발전해 온 소프트웨어 개발의 범용적인 개념인데, 자바(Java)는 이 개념을 기반으로 JavaBeans라는 개발 표준을 도입했다.그래서 Bean이라는 용어는 Java 초기부터 '재사용 가능한 객체(Object)'를 지칭하는 용어로 자리잡았고, 이 개념이 스프링 프레임워크(Spring Framework)까지 이어지게 된 것이다. 이로 인해, 스프링 컨테이너에 의해 관리되는 객체를 Bean이라는 용어로 부르게 된 것이며 자바에서 컴포넌트(Component)란 사실상 Bean과 동일한 의미로 사용된다. 결론적으로 애플리케이션의 기능을..

Spring 2024.09.01

Spring Container에 Bean등록(Xml) 및 사용 예시

Spring framework에서 중요한 핵심 개념인 DI(Dependence injection)에 대한 이해를 돕고자, Xml설정 파일을 이용해서 Spring Container(ClassPathXmlApplicationContext.class)에 Bean객체를 등록하는 예제입니다.User.java@Componentpublic class User { private Long no; private String name; @Autowired private Friend friend; private List friends; public User() { no = 1L; name = "루피"; } public User(Long no, String name) { this.no = ..

Spring 2019.10.15