Spring Bean

기초다지기

Posted by MinHyun-Code on 2024.02.20 java


Spring Bean

스프링 컨테이너에 등록된 객체

쉽게 이해하자면 new 키워드 대신 사용한다고 생각하면 된다.

<bean id="helloService" class="com.example.myapp.di.HelloService"/>
    HelloService helloService = new HelloService();



스프링 빈(Bean) 사용 이유

스프링 간 객체가 의존관계를 관리하도록 하는 것에 가장 큰 목적이 있다.

객체가 의존관계를 등록할 때 스프링 컨테이너에서 해당하는 빈을 찾고, 그 빈과 의존성을 만든다.

의존성 주입(DI)



스프링 빈 등록 방법

어노테이션으로 등록

  • @Controller, @Service, @Repository, @Component
// ...
@Service
public class MemberService {
    
    private final MemberRepository memberRepository;

    @Autowired
    public MemberService(MemberRepository memberRepository){
        this.memberRepository = memberRepository;
    }
// ...


자바코드로 직접 등록

  1. main 메서드가 있는 클래스와 동일한 레벨에 java파일 생성

  2. 만든 클래스에 @Configuration 어노테이션 작성

// ...

@Configuration
public class SpringConfig {

    @Bean
    public MemberService memberService() {
        return new MemberService(memberRepository());
    }

    @Bean
    public MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }
}
// ...



xml 파일로 직접 등록

<bean id="helloService" class="com.example.myapp.di.HelloService"/>

<bean id="helloController" class="com.example.myapp.di.HelloController"/>





참고 링크

https://dev-wnstjd.tistory.com/440

https://bnzn2426.tistory.com/124