일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- HTTP메시지
- REST #REST API #HTTP 메서드
- 스프링 예외변환기
- HTTP 요청 메시지
- 백준4256
- DI
- 의존관계
- 깃허브 저장소 합치기
- 스프링 파일 업로드
- 커밋로그
- 스프링 컨테이너
- 객체지향
- BeanDefnition
- 프로토콜 스택 4계층
- http
- 서블릿
- 예외추상화
- 언체크에러
- 체크에러
- 스프링 빈
- ExceptionResolver
- 스프링 타입컨버터
- 프로토타입 스코프
- BasicErrorController
- HTTP 응답 메시지
- 김영한
- 웹 스코프
- BeanValidation
- 스프링
- 백준 2263
- Today
- Total
목록DI (2)
Enthusiasm! Enthusiasm!

이전 포스팅에 있던 AppConfig 클래스를 스프링으로 전환해보겠다. -@Configuration은 스프링 컨테이너가 관리해줄 클래스를 명시하는 어노테이션이다. 이에 대한 설명은 싱글톤 디자인을 다룰 때 자세히 하겠다. -각 메서드에 @Bean을 붙혀주면 스프링 컨테이너에 스프링 빈으로 등록된다. 스프링 컨테이너에 등록해둔 스프링 빈을 사용해보자. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderSer..

객체 지향 설계가 필요한 상황(순수 자바 코드만 이용) 한번 정해지면 바뀔 일이 없는 서비스를 설계할때는 클라이언트 코드에서 구현체에 의존하도록 설계하여도 문제가 되지 않는다. 다만, 위 그림과 같이 어떤 DB와 할인정책을 사용할지 정해지지 않은 상태에서 개발이 진행된다고 가정하자. 어떤게 사용될지도 모르는데 구현체에 의존적인 코드를 설계하는 것은 불가능하다. 이런 상황에서는 인터페이스에만 의존하는 코드를 설계하여 언제든 구현체를 갈아 끼울 수 있도록 코드를 설계해야한다. 객제 지향 원리 적용 특정 구현체에 의존하지 않도록 설계하기 위해서는 관심사를 분리해야한다. 관심사 분리란 무엇일까?하나의 공연에 어떤 배우와 기획자가 있다고 가정하자. 배우는 자신의 배역에만 집중해야하며, 상대 배역이 누구든 자신의 ..