| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 트리
- 항해99
- Til
- 완전탐색
- 브루트포스
- 백준
- 99클럽
- 그리디
- 자바
- DFS
- Spring
- BinarySearch
- 동적 프로그래밍
- 개발q&a
- 알고리즘
- 스프링 핵심 원리 - 기본편
- 스프링
- BFS
- 정렬
- 코딩테스트준비
- 그래프 이론
- Java
- SQL
- 데이터베이스
- 백트래킹
- 학습기록
- 개발qa
- 그래프
- 개발자취업
- DP
- Today
- Total
목록Spring (8)
AtraFelis's Develop Diary
질문Spring에서 @Component, @Service, @Repository의 차이점을 설명해주세요.내 답변셋 모두 DI를 위한 어노테이션이지만, 각각의 역할이 조금 다릅니다. 먼저 @Component는 이 클래스를 스프링 빈에 등록하겠다는 의미로 사용합니다. @Service와 @Repository는 @Componenet 어노테이션을 사용하여 스프링 빈에 등록하는 것까지는 동일하지만, 여기서 부가적인 기능이 조금 추가된 형태입니다. @Service는 이 클래스가 서비스 계층으로 비즈니스 레이어에 속한다는 것을 알려주고, @Repository는 데이터 레이어에 속한다는것을 알려줍니다. 피드백잘한 점핵심 개념 정확: 셋 다 DI를 위한 어노테이션이라는 기본 이해가 정확함계층 구분 이해: @Service가..
스프링 핵심 원리 - 기본편 강의를 수강하며 작성한 글입니다.Section 9 스프링 빈에는 생명주기 Life Cycle라는 것이 존재하는데, 생명주기란 말 그대로 스프링 빈이 생성되고 종료되는 일련의 과정을 말한다. 이 과정 동안 초기화 로직이나 마무리 로직을 개발자가 임의로 삽입할 수 있는데, 이것을 빈 생명주기 콜백이라고 한다.빈의 생명주기는 아래와 같이 진행된다.1. 스프링 컨테이너 생성2. 스프링 빈 생성3. 의존 관계 주입4. 초기화 콜백(Init Callback)5. 빈 사용6. 소멸 콜백(Destroy Callback)7. 스프링 종료여기서 우리가 주목할 것은 초기화 콜백과 소멸 콜백이다.의존 관계 주입이 완료되고 빈을 사용하기 전에 어떤 메소드를 호출하여 객체를 초기화 한다거나, 빈이 소..
스프링 핵심 원리 - 기본편 강의를 수강하며 작성한 글입니다.Section 8. 의존관계 자동 주입 의존관계 주입 방법Section 7. 컴포넌트 스캔 정리 글에서 잠깐 언급했던 의존관계 주입 방법에 대해 조금 더 자세히 설명하고자 한다.생성자 주입이전까지 해왔던 것처럼 생성자를 이용해 의존관계를 주입하는 방식이다.@Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @AutoWired public OrderServiceImpl(Member..
스프링 핵심 원리 - 기본편 강의를 수강하며 작성한 글입니다.*Section 7이제까지는 설정 정보, 그러니까 @Configuration을 이용하여 스프링 빈을 등록해주었다. 하지만 이렇게 일일히 스프링 빈을 등록하는 것도 굉장히 귀찮은 일이다. 프로젝트의 규모가 커지면(언제나 세계 규모의 프로젝트를 진행한다고 상상을 하며 공부를 한다) 빈으로 등록해주어야 할 클래스들도 엄청나게 늘어날 것이다.이런 귀찮은 일을 해소하기 위해 만들어진 것이, 컴포넌트 스캔이다.컴포넌트 스캔을 이용하여 의존관계를 자동 주입하는 방법은 간단하다.구성 파일로 사용하고자 하는 클래스에 @ComponenetScan을, 스프링 빈으로 등록하고자 하는 클래스에는 @Component를 붙이면 된다.@ComponentScanpublic ..
스프링 핵심 원리 - 기본편 강의를 수강하며 작성한 글입니다.Section 6바로 이전에 AppConfig를 스프링 컨테이너를 이용할 수 있도록 코드를 수정 해주었다. 하지만 이렇게 수정을 했을 때 어떤 좋은 점이 있는 걸까?OrderApp을 한 번 살펴보자. 스프링 컨테이너를 사용할 수 있도록 수정했다.public class OrderApp { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = context.getBean("memberServ..
스프링 핵심 원리 - 기본편 강의를 수강하며 작성한 글입니다.Section 5 이제 순수한 자바에서 벗어나, 스프링을 사용해보자.먼저 기존의 AppConfig를 직접 사용하여 DI하던 것을 스프링을 사용하는 형태로 수정한다.@Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); ..