Spring

[Spring] 자바코드로 직접 스프링 빈 등록하기

DingCoDing 2022. 7. 1. 20:14
반응형

MemberController.java

package hello.hellospring.controller;

import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class MemberController {

//    @Autowired private MemberService memberService;

    private MemberService memberService;

//    @Autowired
//    public void setMemberService(MemberService memberService){
//        this.memberService = memberService;
//    }
//



    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }
}

memberController에서는 @Autowired를 이용하여 의존관계를 설정해주어야 한다.

 

SpringConfig

package hello.hellospring;

import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import hello.hellospring.service.MemberService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {

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

    @Bean
    public MemberRepository memberRepository(){
        return new MemoryMemberRepository();
    }
}
반응형