728x90

Spring 34

순수 Java에서 Spring으로의 첫 전환!

순수 Java에서 Spring 코드로 변환 저번에 AppConfig를 활용하여 DI를 구현했는데 이를 스프링 어노테이션으로 구현하면 아래와 같이 바꿀 수 있다. @Configuration //AppConfig에 설정을 구성한다는 뜻의 @Configuration 을 붙여준다. public class AppConfig { @Bean //각 메서드에 @Bean 을 붙여준다. 이렇게 하면 스프링 컨테이너에 스프링 빈으로 등록한다 public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImp..

Spring 2022.02.15

(Spring DI) Appconfig를 활용한 가격정책을 DI로 구현

DI(의존성 주입)를 활용한 할인정책 구현(Java) 할인 정책을 구현하기 위해 DiscountPolicy 인터페이스 밑에 정액할인 정책 구현체와 정률할인 정책 구현체를 두었다. - 할인 정책 인터페이스(DiscountPolicy.java) import hello.core.member.Member; public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); } - 정액 할인 정책 구현체(FixDisCountPolicy.java) public class FixDiscountPolicy implements DiscountPolicy { private int discountFixAmount ..

Spring 2022.02.15

스프링 부트 Test 예제(feat. assertj)

스프링 부트 Test 예제 @RunWith(SpringRunner.class) @SpringBootTest @Transactional @Rollback public class OrderServiceTest { @PersistenceContext EntityManager em; @Autowired OrderService orderService; @Autowired OrderRepository orderRepository; @Test public void 상품주문() throws Exception { //Given Member member = createMember(); Item item = createBook("시골 JPA", 10000, 10); //이름, 가격, 재고 int orderCount = 2;..

Spring 2022.02.14
728x90