기본 콘텐츠로 건너뛰기

스프링 부트 초기 설정 기능들 설명 (with 인텔리제이)

 스프링 부트 4.0.4 기반으로 오랜만에 세팅하려고 하니까 옵션이 워낙 많아서 클도드를 통해서 정리해둠


Developer Tools

Spring Boot DevTools

    - 코드 변경 시 자동 재시작, LiveReload(브라우저 자동 새로고침), 캐시 비활성화, 빠른 빌드 지원. runtime 스코프로만 동작해 프로덕션 빌드엔 포함 안 됨.


Lombok

    - @Getter @Setter @Builder @Data @Slf4j 등 어노테이션 하나로 getter/setter/생성자/로거를 컴파일 타임에 자동 생성.


Spring Configuration Processor

    - @ConfigurationProperties 클래스를 분석해 spring-configuration-metadata.json을 생성. IDE에서 application.yml 작성 시 자동완성과 타입 검증 제공.


Docker Compose Support

    - Spring Boot 3.1+에서 compose.yaml을 감지해 앱 시작 시 docker compose up을 자동 실행. 앱 종료 시 자동 docker compose stop도 지원.


Spring Modulith

    - 단일 Spring Boot 앱 내 패키지 경계를 모듈로 선언하고, 모듈 간 의존성 위반을 테스트로 검증. 이벤트 기반 통신, 모듈 문서 자동 생성 지원.


GraalVM Native Support

    - JVM 없이 실행되는 네이티브 바이너리로 컴파일. 콜드 스타트가 수십 ms, 메모리 사용량이 JVM 대비 최대 80% 절감. 단, 빌드 시간이 수 분으로 증가하고 리플렉션 설정이 복잡.


GraphQL DGS Code Generation

    - Netflix DGS 프레임워크용. GraphQL 스키마(.graphqls)에서 Java/Kotlin 타입·Data Fetcher 인터페이스를 자동 생성. GraphQL API를 type-safe하게 구현할 때 사용.








댓글

이 블로그의 인기 게시물

네이버페이 리뷰 API 연동

네이버 페이 리뷰 API 네이버 측에 문의 하면 sandbox용 인증키를 받습니다. AccessLicense, SecretKey 그리고 받은 파일의 4. WSDL을 열어 주시고 Naver_Pay_API_MallService41_WSDL(sandbox)_20140925파일 압축 풀어주세요 그럼 파일이 BaseType.xsd, CheckoutAPI.wsdl, MallServiceMessage.xsd 세개의 파일이 나옵니다. 네이버페이 리뷰 리스트 가져오는 메소드는 getPurchaseReviewList입니다. BaseType.xsd를 켜신 후 MallID로 검색하면 <xs:complexType name="purchaseReview"> 안쪽의 MallID밑에  <xs:element minOccurs="0" name="PurchaseReviewClassType" type="xs:string"/> 추가해주세요 포토 리뷰를 가져오는 파라미터 값을 보내기 위해서 입니다. <xs:element minOccurs="0" name="Content" type="xs:string"/> 이값도 필요합니다 이미지 경로를 가져오기 위해서 입니다. <xs:complexType name="purchaseReview">     <xs:sequence>       <xs:element minOccurs="0" name="CreateYmdt" type="xs:dateTime"/>       <xs:element minOccurs="0" name="MallID" type="xs:string"/>   <xs:element minOccurs="0" nam...

mac 맥 맥북 Brew 완전 삭제

맥북에서 Brew 초기화 Brew를 써서 h2를 쓰려고 하는데 brew install h2가 안되서 이리 저리 알아보다가 완전 삭제 후 다시 설치 하니까 되서 그 방법을 남겨놈 1. 터미널에 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" 입력후 y랑 뭐 비번.. 2. /usr/local 폴더에서 Homebrew 폴더 삭제 rm -rf Homebrew/ 권한설정으로 잘.....삭제하고 3. 다시 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 좀 오래걸리니까 기다려야한다는걸 배움... 출처.... https://discourse.brew.sh/t/error-no-formulae-found-in-taps/8331/9

OCI에 서버 세팅하기

    1. 서버 기본 준비      OCI A1 인스턴스를 만들고 Ubuntu 같은 OS를 설치합니다. A1은 ARM 기반이므로, 사용하는      Docker 이미지와 의존성이 linux/arm64를 지원하는지 먼저 확인해야 해요. 특히 일부 오래된      DB 이미지나 네이티브 모듈은 주의가 필요합니다.   2. 네트워크와 보안 설정      OCI 보안 목록/NSG와 서버 방화벽에서 최소한 80, 443, 22 포트를 정리합니다.       - 80: HTTP 및 인증서 발급       - 443: HTTPS       - 22: SSH 관리용 — 가능하면 내 IP만 허용      앱 컨테이너의 포트(예: 3000, 8080, DB 포트)는 인터넷에 직접 열지 않는 게 핵심입니다.   3. Docker 운영 기반 구성      서버에 Docker와 Docker Compose 플러그인을 설치하고, 프로젝트별 디렉터리를 분리합니다.      예를 들면:      /srv/apps/        promeditor/        other-project/        proxy/      각 프로젝트는 자기 compose.yml, 환경변수 파일, DB 볼륨을 독립적으로 가지게 합니다.   4. 공용 Nginx 리버스 프록시 구성      Nginx는 한 개만 앞단에서 실행하고, 도메인/서브도메인에 따라 내부 컨테이너로 프록시합니      다...