본문 바로가기

Spring Boot22

Spring 개발자의 FastAPI 찍먹기: URL 단축기 프로젝트 1. 프롤로그: 왜 FastAPI인가?평소 Java/Spring Boot로 개발하던 나에게 Python의 FastAPI는 신선한 충격이었다. "빠르다", "직관적이다"라는 소문만 듣다가, 실제로 URL 단축 서비스(Shorten URL Service)를 만들어보며 Spring의 아키텍처를 Python에 녹여내는 과정을 기록해 본다.특히 가장 고민했던 부분은 "자유분방한 파이썬 코드에 어떻게 견고한 구조(Architecture)를 입힐 것인가"였다.2. 프로젝트 세팅: Modern Python StackSpring에 Gradle과 application.yml이 있다면, 이번 프로젝트에선 다음과 같은 스택을 사용했다.패키지 관리: Poetry (Python의 Gradle 느낌. 의존성 관리가 아주 깔끔함)환.. 2026. 1. 7.
[Spring boot 3.x] Spring boot는 왜 자동 설정을 만들었나? Spring boot에서 Bean을 등록해서 사용하는 경우가 빈번하게 있지만 해당 등록하지도 않은 기본 라이브러리의 Bean들이 어떤 방식으로 등록 되는지 확인해 보았습니다. 상당히 많은 어노테이션들 이걸 어디다 쓰는지 확인해 보았습니다.1. Target해당 어노테이션을 적용 가능한 레벨을 정의 하기 위해 사용TYPE → 클래스, 인터페이스METHOD → 메서드FIELD → 필드 (변수)PARAMETER → 메서드 매개변수CONSTRUCTOR → 생성자LOCAL_VARIABLE → 지역 변수ANNOTATION_TYPE → 애노테이션 정의에만PACKAGE → 패키지 선언TYPE_PARAMETER → 제네릭 타입 매개변수TYPE_USE → 타입이 사용되는 모든 곳 (Java 8 이후)2. Retention해.. 2025. 12. 2.
Spring boot 3.0 Pre-Update 내용 정리 2018년 2월 28일 이후 4년만에 올해 2022년 11월 24일에 Release 버전이 출시될 예정이라고 합니다. 현재는 Spring boot 3.0-rc1 버전(Release Candidate) 베타 최종버전이 배포되어 사용이 가능합니다. RC 버전은 Release 이전에 최종버전을 테스트 및 베타 버전이라고 보시면 됩니다. 1. 자바 버전 업데이트 Spring boot 3.0 사용시에 java 버전을 17로 올려야된다고 합니다. Spring boot 3.0에 기반이 되는 코어 라이브러리들의 코드 베이스가 17버전으로 구현되어 있으며 이전 버전들(2.7.x 하위 버전) 또한 java 17에서 동작한다고 하지만 이부분은 각각의 버전마다 차이가 있을수 있고 "will work really well wi.. 2022. 11. 14.
[Spring Security][v5.7+] 설정 정리 왜 v5.7 버전 이상에서는 새로운 설정을 진행하는건가요? WebSecurityConfigurerAdapter를 상속받아 사용하게 되는 spring security 설정에서 component를 bean으로 등록하는 방식으로 특정 class의 의존성을 줄이고 필요한 bean 등을 블럭의 형태와 같이 필요로한 클래스들을 제정의 하여 사용하기 위해 버전이 올라가면서 구성이 변경 되었습니다. WebSecurityConfigurerAdapter class를 사용하여도 현재까지는 크게 이슈는 없지만 향후 라이브러리 버전이 올라감에 따라 해당 버전의 리스크는 개발자가 떠앉는 상황을 피하기위해 정리해 보았습니다. @Configuration @ComponentScan @EnableWebSecurity @EnableGlo.. 2022. 10. 17.