본문 바로가기

728x90

di

(3)
[Spring 기본] 의존 관계 주입 전략 (DI Strategy) 이전 포스트에서 잠시 언급된 적이 있지만, Spring에서는 App 을 탐색하며 Bean을 등록하는 과정은 크게 두 가지 절차를 거치게 됩니다. (당장 지난 포스트에서 그림들. 1번, 2번, 3번 그림) 1. Bean 생성 2. 의존 관계 주입 (DI) 지금까지는 간단히 생성자를 통해서 DI를 진행하였지만 (제일 일반적인 방법입니다), 생성자를 통한 주입 말고도 DI 에는 크게 4가지 전략이 있습니다 (Autowire Strategy). (1) 생성자 주입 @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public Membe..
[Spring 기본] Spring의 객체 지향 IoC, DI, Bean, Container 지난 포스트에서는 Spring의 도움을 받지 않고 순수한 Java 를 통해서 객체 지향을 위한 설계를 해봤습니다. 이번 포스트에서는 [Spring 기본] 포스트들의 목적에 맞게 Spring이 이런 설계를 도와주기 위해 어떤 지원을 해주는지 살펴보겠습니다. 스프링 짱짱맨.. IoC (Inversion Of Control) IoC 란 어떤 지원되는 기능, 기술을 말하는 것이 아니라, 설계적인 측면의 용어라고 생각하시는게 편합니다. Spring 한정으로 사용되는 용어가 아니라, 메소드 혹은 객체의 호출 작업을 개발자 코드에서 결정되는 것이 아닌, 외부에서 프레임워크 따위가 내 코드를 호출해 주는 구조를 말합니다. 이렇게 제어를 하는 권한이 뒤바뀐다고 해서 IoC, 제어의 역전이라고 부릅니다. 지난 포스트에서 ..
[Spring 기본] 앱 기본 설계, Config 클래스 및 주입의 시작 이번 포스트에선 [Spring 기본] 섹션에서 쭉 사용할 도메인 예제들을 알아보고, 지난시간에 살펴보았던 좋은 객체지향의 관점에서 프로그래밍을 해볼 수 있도록 하겠습니다. 지난 포스트에 이어서, [역할과 구현의 분리]가 어떤식으로 이루어지는지를 중점으로 살펴보시면 될 것 같습니다! 필요 비즈니스 로직 생성 1. Domain (1) Member - 이름, 등급 (VIP, Normal) public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade..