Spring 의 xml 설정 , 자바코드 설정
xml 에서의 bean 설정
xml-config //xmlns의 선언문이 꼭 필요하다(스키마)
<bean id="memberService" class="hello.core.member.MemberServiceImpl">
<constructor-arg name="memberRepository" ref="memberRepository">
</bean>
<bean id="memberRepository" class="hello.core.member.MemoryMemberRepositroy"/>
여기에 등록된 bean은 Spring이 실행될때 생성자가 실행되어 컨테이너에 등록됩니다,
등록할 bean을 기재합니다. id="memberService"는 해당bean의 이름을 표시합니다.
class="hello.core.member.MemberServiceImpl" 는 실제로 bean으로 생성할 객체의 class를 기재합니다.
<constructor-arg>는 해당 객체의 생성자를 넘겨주는 용도로 사용합니다.
위와 같은 경우는 hello.core.member.MemberServiceImpl 를 구현하기위해 ref="memberRepository" memberRepository를 참조해서 생성자를 넘겨주고 있습니다.
자바로 bean 구현
@Bean
public MemberService memberService(){
return new memberServiceImpl (memberReposirory);
}
@Bean
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}
자바로 구현할 경우 bean으로 생성할 메소드위에 @Bean 어노테이션을 명시합니다.
public MemberService memberService() 기본적으로 해당객체의 생성자를 의미합니다.
여기서도 memberService는 생성자에서 아래의 bean 인 memberRepository 를 매개변수로 받아 memberServiceImpl 를 구현하여 반환하고 있습니다.
아래의 public MemberRepository memberRepository() 생성자도 스스로를 생성하여 리턴된 값을 반환합니다.
new MemoryMemberRepository();
'SpringBoot' 카테고리의 다른 글
11월 1일 SpringBoot Config를 읽어 BeanDefinition을 생성 (0) | 2022.11.02 |
---|---|
10월 31일 SpringBoot xml설정호출 (0) | 2022.11.01 |
10월25일 SpringBoot BeanFactory와 ApplicationContext (0) | 2022.10.26 |
10월24일 SpringBoot 스프링 Bean조회 5 (0) | 2022.10.25 |
10월 23일 SpringBoot 스프링으로 bean조회4 오류검증 (0) | 2022.10.24 |