* 주관적인 생각으로 작성한 리뷰입니다. 계기 스프링 부트와 AWS로 혼자 구현하는 웹서비스를 읽으면서 스프링이 어떤 건지 대강 알겠다만, 작동원리나 깊은 개념은 설명해주지 않아 이론적인 부분이 부족했다. 그랬던 탓일까. 스프링 시큐리티부터 막혀서 토비의 스프링을 구매했다. 토비의 스프링은 입문자가 읽기에 이해하기 어려운 부분이 있었다. 때문에 스프링을 이미 알고 있는 사람이 읽어야 학습효과가 있을거라 생각했다. 그래서 김영한님 강의를 다시 보고 MVC파트까지 결제할까 고민했지만, 결제 금액도 상당한데다 강의를 전부 보기에는 시간이 많이 걸릴 것 같아 책을 찾아봤다.(요즘 강의보다 책을 선호 중임) 그렇게 알게 된 책이 초보 웹 개발자를 위한 스프링 5 프로그래밍 입문이었다. 당근해와서 야무지게 읽었다...
* Chapter 9는 다른 블로그를 참고하여 설정한 상태이기 때문에 스킵합니다. 스프링 MVC 핵심 구성 요소 spring bean 이라 표시한 것은 스프링 빈으로 등록해야하는 것을 의미하며, 회색 배경을 가진 구성요소는 개발자가 직접 구현해야하는 요소이다. DispatcherServlet은 모든 연결을 담당한다. 웹 브라우저로부터 요청이 들어오면, 그 요청을 처리하기 위해 컨트롤러를 검색하는데, 이때 HandlerMapping이라는 빈 객체에 컨트롤러 검색을 요청한다. 웹 요청 경로가 /hello 라면 등록된 컨트롤 빈 중에서 '/hello' 요청 경로를 처리할 컨트롤러를 리턴한다. 컨트롤러 객체를 받은 DispatcherServlet은 HandlerAdapter 빈에게 요청 처리를 위임한다. Han..
의존이란? DI('Dependency Injection’)의 약자로 우리말로는 ‘의존 주입’ 이라고 번역한다. 이 단어를 이해하려면 ‘의존’이 뭔지 알아야 한다. 다음 코드를 살펴보자. import java.time.LocalDateTime; public class MemberRegisterService{ private MemberDao memberDao = new MemberDao(); public void regist(RegisterRequest req){ Member member = memberDao.selectByEmail(req.getEmail.()); if(member != null){ // 이메일로 회원 데이터(Member 조회); throw new DuplicateMemberExceptio..
들어가며 스프링이란? 의존 주입(Dependency injection: DI) 지원 AOP(Aspect-Oriented Programming) 지원 MVC 웹 프레임워크 제공 JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 이외에도 스케줄링, 메시지 연동(JMS), 이메일 발송, 테스트 지원 등 자바 기반의 앱을 개발하는데 다양한 기능을 제공해주는 프레임워크이다. 스프링에 관련된 프로젝트는 다양하다. 이중에 자주 사용되는 것은 다음과 같다. 스프링 데이터: 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크 스프링 시큐리티: 인증/인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB · 오픈ID · LDAP 등 다양한 인증 방식, 암호화 기능을 제공 스프..