상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 스프링에서 빈(Bean) 등록과 관리 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
스프링 프레임워크는 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a> 애플리케이션에서 의존성 주입(<a href='https://sangseek.com/sangseeks/Dependency Injection/ko'>Dependency Injection</a>)과 제어의 역전(Inversion of Control)을 통해 객체의 생명주기를 관리합니다. 빈(Bean)은 스프링 IoC 컨테이너에 의해 관리되는 객체를 의미하며, 빈 등록과 관리는 스프링의 핵심 기능 중 하나입니다. 다음은 스프링에서 빈 등록과 관리 방법에 대한 설명입니다. 1. 빈 등록 방법스프링에서 빈을 등록하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다. # a. XML 설정 파일전통적인 방법으로, `applicationContext.xml`과 같은 XML 파일에 빈을 정의합니다.```xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X<a href='https://sangseek.com/sangseeks/MLS/ko'>MLS</a>chema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myBean" class="com.example.<a href='https://sangseek.com/sangseeks/MyClass/ko'>MyClass</a>"/></beans>``` # b. <a href='https://sangseek.com/sangseeks/어노테이션/ko'>어노테이션</a> <a href='https://sangseek.com/sangseeks/기반 설정/ko'>기반 설정</a>스프링 2.5 이후부터는 어노테이션을 사용하여 빈을 등록할 수 있습니다. 주로 `@Component`, `@Service`, `@Repository`, `@Controller` 등의 어노테이션을 사용합니다.```javaimport org.springframework.stereotype.Component;@Componentpublic class MyClass { // 클래스 내용}```이 경우, `<a href='https://sangseek.com/sangseeks/@ComponentScan/ko'>@ComponentScan</a>` 어노테이션을 사용하여 스프링이 특정 패키지를 스캔하도록 설정해야 합니다.```javaimport org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan(basePackages = "com.example")public class AppConfig {}``` # c. <a href='https://sangseek.com/sangseeks/Java Config/ko'>Java Config</a>스프링 3.0부터는 Java 기반의 설정을 통해 빈을 등록할 수 있습니다. `@Configuration` 어노테이션을 사용하여 설정 클래스를 정의하고, `@Bean` 어노테이션을 사용하여 빈을 등록합니다.```javaimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class AppConfig { @Bean public MyClass myBean() { return new MyClass(); }}``` 2. 빈의 생명주기 관리스프링은 빈의 생명주기를 관리하기 위해 다양한 콜백 메서드를 제공합니다. 주요 생명주기 단계는 다음과 같습니다.- 초기화 : 빈이 생성되고 의존성이 주입된 후 호출되는 초기화 메서드입니다. `@<a href='https://sangseek.com/sangseeks/PostConstruct/ko'>PostConstruct</a>` 어노테이션을 사용하거나, XML 설정에서 `init-method` 속성을 통해 설정할 수 있습니다. - 소멸 : 빈이 컨테이너에서 제거될 때 호출되는 메서드입니다. `@<a href='https://sangseek.com/sangseeks/PreDestroy/ko'>PreDestroy</a>` 어노테이션을 사용하거나, XML 설정에서 `destroy-method` 속성을 통해 설정할 수 있습니다. 3. <a href='https://sangseek.com/sangseeks/스코프/ko'>스코프</a>(Scope)스프링 빈은 다양한 스코프를 가질 수 있습니다. 기본적으로 제공되는 스코프는 다음과 같습니다.- singleton : 기본 스코프. 애플리케이션당 하나의 인스턴스만 생성됩니다.- prototype : 요청할 때마다 새로운 인스턴스가 생성됩니다.- request : 웹 애플리케이션에서 HTTP 요청당 하나의 인스턴스가 생성됩니다.- session : 웹 애플리케이션에서 HTTP 세션당 하나의 인스턴스가 생성됩니다.- <a href='https://sangseek.com/sangseeks/globalSession/ko'>globalSession</a> : 포트렛 애플리케이션에서 글로벌 세션당 하나의 인스턴스가 생성됩니다.스코프는 XML 설정이나 어노테이션에서 `<a href='https://sangseek.com/sangseeks/@Scope/ko'>@Scope</a>`를 사용하여 정의할 수 있습니다.```javaimport org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;@Component@Scope("prototype")public class MyClass { // 클래스 내용}``` 결론스프링에서 빈 등록과 관리는 애플리케이션의 구조와 유지보수성을 높이는 중요한 요소입니다. XML, 어노테이션, Java Config 등 다양한 방법을 통해 빈을 등록할 수 있으며, 생명주기와 스코프를 적절히 관리하여 효율적인 애플리케이션을 개발할 수 있습니다. 이러한 기능들을 활용하여 스프링의 강력한 IoC 컨테이너를 최대한 활용해 보세요!
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기