JAVA기반과 XML 기반

박찬우·2023년 12월 11일
0

스프링

목록 보기
9/88

설정 정보 만들기

  • 설정 정보는 JAVA, XML, Groovy등 으로 만들 수 있다.
  • 설정 정보를 지정하는 차이만 있을 뿐 코드는 동일함

JAVA 기반

  • 자바 코드로 설정 정보를 작성함
  • AppConfig.class
@Configuration
public class AppConfig {

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

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

    @Bean
    public DiscountPolicy discountPolicy() {
        return new RateDiscountPolicy();
    }
}
  • main
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);

XML 기반

  • XML 파일로 만듬
  • AppConfig.xml
<?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="hello.core.member.MemberServiceImpl">
        <constructor-arg name="memberRepository" ref="memberRepository" />
    </bean>

    <bean id="memberRepository" class="hello.core.member.MemoryMemberRepository" />

    <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>
  • main
ApplicationContext ac = new GenericXmlApplicationContext("appConfig.xml");
profile
진짜 개발자가 되어보자

0개의 댓글