주특기 입문주가 끝이 났다. 역시나 너무 정신 없는 한 주였다. 아직 Spring에 대한 개념이 확실히 잡히지 않은 상태에서 미션수행이 순탄치 않았던 것 같다. 지난 주 목요일 발제가 되고 부터 최소 3일은 강의를 보았던 것 같다.
금주 WIL의 키워드이기도 한 (DI, Bean, IoC)와 Spring의 3계층이라 불리는 (Container, Service, Repository), Annotation들, 특히나 일반적인 Annotation과 lombok에서 생성해주는 annotation 구분도 잘 안되고 도대체 무엇을 의미하는지 알 수가 없었지만 다행히도 강의 실습을 토대로 어떻게 구현을 해서 제출은 무리 없이 했다.
이번 주 미션을 통하여 내가 보람을 느꼈던 점은 CRUD를 구현하기 위해 고민하고 또 고민하고 기존의 실습 소스에서 요구사항에 맞춰 변형을 할 때, 어느 정도는 내 의지대로 변화에 성공을 시킨 것이다.
아직은 내가 만든 API가 RESTful한 API가 맞는지 이렇게 접근하고 로직을 짜는 것이 맞는지 확신이 들진 않았던 것 같다.
지난 목요일 4주차 발제일에 발표한 미션은 3주차 미션이었던 CRUD 기능에 회원가입, 로그인, 댓글기능을 추가하는 것이다.
목요일은 주특기 관련해서 공부를 하지 못하고 화요일에 있을 항해톡 발표자료를 준비했고 금, 토, 일 3일 내내 강의와 학습자료를 공부하였다. 심화과정 1주차를 완강 했는데 지난주 미션 관련 강의에서 다뤘던 내용에 대한 상세한 개념에 대해 모두 알려주었다. 그 개념 강의를 듣느라 시간이 너무 많이 소요 되었지만 너무 많은 걸 배웠고 이제야 조금 보이기 시작한다.
오늘 밤, 회원가입/로그인에 대한 부분을 공부하고 내일부터는 과제작업 돌입이다.
Spring이 관리하는 객체
Spring IoC Container
- Bean을 모아둔 통
Bean 등록 방법
<@Component>
클래스 선언 위에 설정
Spring 서버가 뜰 때, Spring IoC Container에 저장
<@Component 적용 조건>
ComponentScan에 설정해 준 packages 위치와 하위 packages들
@SpringBootApplication에 의해 default 설정이 되어있음
<@Bean>
직접 객체를 생성하여 Bean으로 등록 요청
Spring 서버가 뜰 때, Spring IoC Container에 저장
Bean 사용방법
<@Autowired>
멤버 변수, 함수 선언 위에 @Autowired → Spring에 의해 DI됨
<@Autowired 적용 조건>
Spring IoC Container에 의해 관리 되는 클래스에서만 가능
<@Autowired 생략 조건>
Spring 4.2 버전부터 @Autowired 생략가능
생성자 선언이 1개 일때만 생략가능
(미숙하다면, @Autowired 생략X 추천)
오는 화요일 항해톡 발표이다. 주제는 "SQL vs NoSQL" 열심히 준비한 만큼 잘 해냈으면 좋겠다!