본문 바로가기

스프링9

시작 어느덧 개발팀으로 옮긴지 6개월이 되었다. 개발팀에서 어찌저찌 적응을 하고 있다만, 내가 강의를 보고 공부한 스프링과 현업에서의 프로젝트 구조가 차이가 컷다. 처음에는 이건 왜 이렇게 되어있지? 이걸 이렇게도 쓸 수 있구나 등 많은 걸 느꼈다. 내가 많이 부족한걸로 판단되어 다시 공부를 할 생각이다.(꾸준히 해야지..) 우선 첫 번째로 공부해 볼 것은 스프링이다. 책은 토비의 스프링이다. 배운 내용을 블로그와 내 깃허브에 정리할것이다. github : https://github.com/dlrms6172 2023. 4. 8.
스프링 동작 원리 스프링 전체적인 동작 구성도 1. Dispatcher Servlet Servlet Container에서 Http 프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일 앞에 둬서 중앙 집중식으로 처리해주는 프론트 컨트롤러(Front Controller) 들어오는 모든 Request를 우선적으로 받아 처리해주는 서블릿이다. HandlerMapping에게 Request에 대해 매핑할 Controller 검색을 요청한다. HandlerMapping으로부터 Controller 정보를 반환받아 해당 Controller와 매핑시킨다. Dispatcher라는 단어가 '배치 담당자'라는 뜻이 있듯이, 말 그대로 Request에 대해 어느 컨트롤러로 매핑시킬것인지 배치하는 역할을 한다 클라이언트로부터 어떤 요청(.. 2022. 10. 21.
IoC(Inversion of Control), DI(Dependency Injection) IoC(Inversion of Control) - IoC 스프링에서는 일반적은 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에 모두 맡긴다. 즉, 개발자에서 -> 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음 으로 "제어의 역전" 이라고 합니다. DI(Dependency Injection) - DI 장점 - 의존성으로부터 격리시켜 코드 테스트에 용이하다. - DI를 통하여, 불가능한 상황을 Mock와 같은 기술을 통하여, 안정적으로 테스트 가능하다. - 코드를 확장하거나 변경할 때 영향을 최소화한다 (추상화) - 순환참조를 막을 수 있다. 2022. 6. 24.
스프링의 핵심 Spring - Spring 1.0 버전은 2004년 3월 출시 지난 20년 가까이의 세월동안 단 한번도 자바 엔터프라이즈 어플리케이션 개발의 최고의 자리를 차지 - 스프링 프레임워크의 구성은 20여가지로 구성 이러한 모듈들은 스프링의 핵심기능(DI, AOP, etc)을 제공해주며, 필요한 모듈만 선택하여 사용 가능 - 현재 단일 아키텍처(모놀리스) 마이크로서비스 아키텍처로 변환 중 여기에 맞춰서 스프링도 진화하고 있는 상태 - 여러가지 모듈이 있지만 그 중에서 단연 스프링 부트, 스프링 클라우드, 스프링 데이터, 스프링 배치, 스프링 시큐리티에 중점을둔다. Spring의 과제 - 테스트의 용이성, 느슨한 결합에 중점을 두고 개발 - 2000년대 초의 자바 EE 어플리케이션은 작성/테스트가 매우 어려웠으.. 2022. 6. 24.