FrameWork/SpringBoot(5)
-
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - DispatcherServlet으로 전환 & 어노테이션 매핑 정보 사용
DispatcherServlet으로 전환우리는 FrontController라는 서블릿을 만들었지만 서블릿 컨테이너를 관리하거나 다루는 작업을 하지 않도록 Servlet Containerless한 개발을 하고 싶은데 애플리케이션의 로직과 연결되어 있는 것들이 서블릿 코드안에 존재하게 된다. 이러한 코드는 먼저 맵핑에 대한 문제이다.웹 요청으로 이걸 처리할 Controller와 메서드가 어떤것인지를 연결시켜주는 작업인데 이걸 코드 상에서 보자면 이렇게 요청 URL와 요청 타입(GET 방식)을 통해서 어떤 클래스의 빈을 사용해서 어떤 함수를 사용할지를 코드로 서블릿 내부에 작성되어 있는 것을 볼 수 있다. 두번째는 요청의 파라미터값을 추출해서 메서드에 파라미터로 넘겨주는 작업에 대한 문제이다.보면 getPar..
2025.08.08 -
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - Dependency Injection & 의존성 오브젝트 DI 적용
Dependency Injection스프링 프레임워크에서 DI(Dependency Injection) 기능은 IoC 컨테이너를 통해 제공되며, 이 컨테이너를 흔히 Spring IoC 컨테이너 또는 DI 컨테이너라고 부른다.이 컨테이너는 애플리케이션을 구성하는 객체(Bean)들의 생성과 의존성 주입을 전담한다.덕분에 개발자는 객체를 직접 생성하거나 연결하는 대신 필요한 의존 객체를 컨테이너로부터 주입받아 사용할 수 있다. 예를 들어, 우리가 앞서 만들었던 구조를 보면 HelloController --------------> SimpleHelloService와 같이 형성되어 있다. 아니 언제 의존 관계를 만들었지? 싶지만 사실 의존관계는 별게 아니라 HelloController는 S..
2025.08.07 -
Gradle
Gradle이란 Gradle은 빌드를 자동화해주는 도구(Build Tool)이다.단순하게 컴파일만 하는게 아니라 아래 작업들을 자동으로 처리해준다.코드 컴파일애플리케이션 실행테스트 자동 수행.jar 또는 .war 패키징외부 라이브러리 다운로드빌드 결과 캐싱 및 병렬 처리쉽게 말하면 빌드 + 실행 + 테스트 + 배포까지 한번에 도와주는 자동화 도구이다. Gradle이 필요한 이유자바를 개발할때는 여러 복잡한 작업들을 사용자가 직접 실행시켜줘야만 한다.위에 작성된 모든 일들을 사용자가 직접 입력 해서 처리를 해주는데 이런 과정을 Gradle은 자동으로 수행해주면서 생산성과 일관성을 보장한다. 단적으로 컴파일과 실행에 대해서 예시를 들어보자. Gradle이 없으면 자바로 직접 파일을 지정하여 컴파일을 해줘야..
2025.08.06 -
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - 스프링 컨테이너 사용, 의존 오브젝트 추가
독립 실행형 스프링 애플리케이션지금까지 만들었던 애플리케이션은 다음과 같은 구조로 작동했다:ServletContainer(WebServer) 를 생성하고,그 안에 FrontController를 등록한다.클라이언트가 요청(Request)을 보내면,FrontController가 이를 받아서 내부 서블릿 로직에 매핑된 핸들러에게 위임하고,로직은 HelloController 오브젝트에 전달되어 처리된다.그 결과를 다시 FrontController가 받아서 클라이언트에게 응답(Response)을 반환한다.이 모든 과정을 우리는 직접 객체를 생성하고 등록하면서 처리했다 이제 위에서 사용했던 HelloController를 직접 생성하지 않고 Spring 컨테이너 내부에 Bean으로 등록해서 사용할 수 있도록 바꿔볼 ..
2024.09.01 -
윈도우(WSL)로 SDKMan 설치하기
sdkman은 여러 소프트웨어 개발 환경을 설치시켜주고 병렬적으로 관리할수 있게 하는 프로그램으로 쉽게 말하면 기존엔 자바 한버전을 설치하고 또 다른 버전을 설치하기 위해 여기 저기 돌아다니면서 프로그램을 찾아서 설치하는 과정을 이 프로그램하나를 통해서 진행 할 수 있다. 우선 mac OS에서는 sdkman을 그냥 설치 가능하다고 하는데 Windows는 단독으로는 불가능하고 Git besh라는 프로그램과 WSL를 사용해서만 설치가 가능하다고 하기에 Git besh라는 프로그램을 쓰려고 했으나 이건 뭔가 제한사항이 있다고 하기에(정확하겐 모르지만 sdkman을 쓰려면 Git besh안에서만 써야한다고 햇었음 돌이켜보면 WSL이랑 다른점이 있나 싶기도함 ㅋㅋ..) WSL으로 사용해보기로 했다. 그리고 WSL..
2024.02.06