스프링을 본격적으로 공부하기 전에 소프트웨어 공학에서 사용되는 디자인 패턴 중 하나로 어플리케이션을 3개의 영역으로 분할하고 각 구성 요소에게 고유한 역할을 부여하는 개발 방식인 MVC모델에 대해서 알아보자.
Spring MVC에서 이용되는 Front Controller 패턴에 대해서 알아보자. 대량의 요청이 발생할 경우 요청별로 컨트롤러를 1:1로 매핑하면 유지보수와 로직수행에 대한 효과가 떨어질 것이다. 이러한 부분을 해결하는 방법을 알아보도록 하자.
Front Controller 패턴의 다른 형식을 알아보자. class(클래스)기반의 매핑이 아닌 xml 및 json 등 파일 기반의 매핑을 통해 dispatcherSerlvet이 동작하는 원리에 대하여 단계별로 파헤쳐보자.
프로그램의 성격이 바뀌거나 비즈니스 로직이 수정되어야 할 경우 최소한의 코드 수정 효과를 달성하거나 트랜잭션 처리가 필요한 경우에 세션을 보유하고 트랜잭션을 확정짓는 역할을 하는 Service에 대해서 알아보자.
이번 게시글은 스프링의 핵심 개념 중 한가지인 의존성 주입에 대하여 설명한다. 의존성이 높은 경우 객체 간의 결합도가 증가하여 특정 객체에 변경이 생기면 주변에 주는 영향이 커진다. 이런 상황을 방지하기 위하여 의존성을 낮추는 방법을 알아보자.
프로그램의 핵심적인 로직을 수행하기 위하여 공통적 또는 반복적으로 수행되어야하는 흩어진 관심사를 지정하여 물리적인 코드 배치를 제거하고 능동적인 기능 수행이 가능하도록 하는 프로그래밍 기법인 AOP에 대하여 알아보자.
스프링 레거시 프로젝트를 생성하기 위한 초기설정을 해보자.
요청을 본격적으로 처리하기 이전에 요청에 대한 초기 설정 및 부가적인 기능을 사전 수행해주는 객체인 필터에 대하여 알아보자.
Rest API 규칙 준수를 위해 Http 메소드 사용 시 PUT, DELETE 메소드 인식 오류에 대한 필터 설정을 해보자. HiddenHttpMethodFilter 객체에 대한 설정에 대하여 알아보자.
React + Spring Boot 프로젝트를 생성하고 연동 후 배포까지 해보자.
SpringBoot의 DB 연동에 대해서 알아보고, Mybatis를 사용하는 방법까지 알아보자.
Spring Boot에서 Junit을 활용해 단위테스트를 수행하는 방법을 알아보자.
React와 Springboot 프로젝트를 연동한 경우 발생하는 새로고침(whitelabel error)의 원인을 알아보고 클라이언트와 서버 측의 해결 방안을 살펴보자.
DB 연결 정보 등 애플리케이션을 개발하면서 다루는 민감 정보들에 대한 암호화하여 혹시라도 모를 정보 노출에 대비해보자.
리액트와 스프링부트 통합 빌드 후 localhost:3000 접속 시 발생하는 404에러에 대해서 알아보자.
이종 DB를 사용해야하는 경우 다중 데이터소스를 설정하는 방법과 설정 시 발생하는 사소한 예외들에 대해서 알아보자.
Springboot와 Mybatis를 사용하는 경우 @Mapper에 대한 테스트를 수행해보자.