본문 바로가기

SpringBoot

10월 26일 SpringBoot Spring의 xml 설성

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();