본문 바로가기
백엔드개발자/SPRING, JPA 등...

appConfig .java 와 .xlm 비교

by 보혀니 2022. 1. 16.

.

package com.hello;

import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;

import com.hello.discount.DiscountPolicy;
import com.hello.discount.RateDiscountPolicy;
import com.hello.member.MemberRepository;
import com.hello.member.MemberService;
import com.hello.member.MemberServiceImp;
import com.hello.member.MemoryMemberRepository;
import com.hello.order.OrderService;
import com.hello.order.OrderServiceImpl;

@Configuration
public class AppConfig {

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

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

	@Bean
	public OrderService orderService() {
		return new OrderServiceImpl(memberRepository(), discounPolicy());
	}

	@Bean
	public DiscountPolicy discounPolicy() {
		return new RateDiscountPolicy();
	}
}

 

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://
www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- 인터페이스와 구현객체 -->
	<bean id="memberService" class="com.hello.member.MemberServiceImp">
		<!-- 생성자를 파라미터를 통한 의존성 주입 -->
		<constructor-arg name="memberRepository"
			ref="memberRepository"></constructor-arg>
	</bean>
	<bean id="memberRepository"
		class="com.hello.member.MemoryMemberRepository"></bean>

	<bean id="orderService" class="hello.core.order.OrderServiceImpl">
		<constructor-arg name="memberRepository"
			ref="memberRepository" />
		<constructor-arg name="discountPolicy"
			ref="discountPolicy" />
	</bean>
	<bean id="discountPolicy"
		class="hello.core.discount.RateDiscountPolicy" />

</beans>