본문 바로가기
반응형

[IT] Spring Boot (JAVA)17

[IntelliJ 코드 스타일] Java Google Style 적용하기 전체 프로젝트의 코드 스타일을 동일하게 유지하여 코드의 가독성을 높이고 운영 유지관리를 용이하게 하기 위해, 팀원이 공통 코드 스타일을 정해서 적용해서 사용을 하는 경우가 많습니다. 그중 가장 많이 사용되는 JAVA Google Style를 IntelliJ IDE에 적용하는 방법을 정리해보도록 하겠습니다. Java Google Style 코드는 구글 내부에서 사용하는 코드 스타일을 공개한 것으로 포맷팅, 네이밍 컨벤션(카멜케이스), 주석 등 여러 코딩 스타일을 미리 정의한 XML 파일입니다. 이 파일을 intellij나 eclipse 등 ide에 적용하면, 자동으로 포맷팅을 하거나 스타일에 맞지 않는 코드는 검사를 하여 스타일에 맞는 코드로 제안을 해주는 기능을 제공하고 있습니다. 1. Java Goog.. 2024. 4. 17.
Spring Boot Access Log 요청 호출 수, 응답시간 또는 사이즈 순으로 통계 (Linux Shell Script 활용) 여러 API URI 혹은 페이지를 가지고 있는 스프링부트 애플리케이션의 액세스 로그 (Access Log)를 통해 시간당 혹은 분당 URL별 호출 수 (호출량)를 통계 낸다거나, 특정 시간 대 응답 시간이 가장 긴 호출 혹은 응답 사이즈가 큰 호출의 랭킹을 조사하는 등 간단하게 통계를 내야 하는 경우가 생겨서 정리를 해보려고 합니다. 다른 모니터링 툴이나 다른 방법이 있겠지만 여기서는 Embedded Tomcat을 활용한 간단한 Spring Boot 어플리케이션의 경우 Tomcat Access Log와 서버의 리눅스 쉘 스크립트를 통해서 아주 간략히 통계를 내는 방법을 정리해보도록 하겠습니다. 먼저 위와 같은 여러 URL과 다양한 파라미터를 가진 Rest API 스프링부트 애플리케이션의 내장 Tomcat.. 2022. 12. 5.
[JAVA Spring Boot] spring.config.import 사용하여 외부 프로퍼티 컨피그 파일 적용 안녕하세요, 오늘은 Spring Boot의 외부에 있는 프로퍼티(Property) 컨피그 파일을 적용하는 여러 가지 방법 중, 주관적인 생각으로 가장 간단하다고 생각되는 spring.config.import 프로퍼티를 이용하는 방법을 정리해보도록 하겠습니다. Spring Boot 프로젝트를 생성하면 default로 classpath인 src/main/resources에 있는 application.properties 파일이나 application.yml 파일, 혹은 application-{profile명}.properties 이나 application-{profile명}.yml을 기본 컨피그 프로퍼티 파일로 자동으로 인식하여 실행이 됩니다. 그 외 다양한 방법으로 외부 컨피그를 설정할 수 있는 방법이 있는.. 2022. 9. 28.
[Spring Boot] Embeded Tomcat 설정 안녕하세요, Spring Boot의 기본 웹서버인 Embeded Tomcat의 Config에 대해서 정리를 해보려합니다. 지난번에 Access 로그 설정 관련해서는 글을 작성을 하였기때문에, 로그를 제외한 나머지 설정에대해 정리를 해보도록 하겠습니다. (https://kim-oriental.tistory.com/43) Embeded Tomcat 설정 항목 server.tomcat.accept-count : 모든 쓰레드가 사용 중 일 때 들어온 요청이 대기하는 최대 큐의 길이, 일반적인 상황에서는 이미 모든 쓰레드가 Full이 찼으면 장애일 가능성이 높아 큐의 길이가 너무 길다면 응답시간만 늦어지고 장애상황 인지가 늦어질 수 있음 (Default: 100) server.tomcat.connection-ti.. 2022. 8. 22.
[JAVA] VSCode - Build failed, do you want to continue? 무시하고 실행 VSCode에 Debugger for Java이라는 Extension을 설치를 하였다면, 자바 프로젝트를 진행하다가 Warning 수준의 에러인데, 아래와 같이 "Build failed, do you want to continue?" 이라는 에러 메시지가 뜨면서 빌드가 안되어 실행이 안 되는 경우가 있습니다. Proceed를 눌러 실행을 하거나, Fix를 눌러서 이슈를 해결을 하면 되기는 하지만, 별거 아닌 Warning 수준의 에러에도 실행이 안되어 불편한 경우가 있습니다. 이럴 때, [Ctrl + ,] 단축키를 이용하여 setting 메뉴에 들어가서 아래와 같이 세팅을 Enable 해주면 에러를 무시하고 일단 실행을 하게 됩니다. Extensions > Java Debugger java > debug.. 2022. 7. 11.
[Spring Boot] Tomcat Access Log 설정 Spring Boot의 내장된 Tomcat을 사용하여 웹 애플리케이션이나 API 서비스를 구현하는 경우의 Tomcat Web Server의 Access Log 설정을 어떻게 하는지에 대해 정리를 하려고 합니다. 기본적인 Spring Boot와 Embedded Tomcat을 이용하는 경우, 웹서버의 Access Log는 별도 설정을 해야만 로그가 남게 됩니다. Spring Boot의 프로퍼티에 server.tomcat.access 로그 관련 설정을 해야 하는데 여기서는 yml 파일에 설정하는 것을 기준으로 작성하겠습니다. Spring Boot application.yml 파일에 Tomcat Access Log 설정 server: tomcat: accesslog: enabled: true directory:.. 2022. 6. 28.
[JPA] Spring Data JPA - Query Methods (쿼리 메서드) 안녕하세요, Spring Data JPA의 쿼리를 생성하는 기능 중 한 개인 메서드명을 규칙에 맞게 작성을 하면, 자동으로 쿼리가 생성되는 Query Methods (쿼리 메서드) 기능에 대해서 알아보겠습니다. 아주 복잡한 Entity나 Join 상황에서는 활용이 힘들겠지만, 간단하게 데이터를 불러오거나 저장하는 상황에서는 아주 유용하게 활용이 가능할 것 같습니다. 쿼리 메서드 샘플 예제 User Entity 아래와 같이 간략히 User Entity를 작성합니다. 쿼리 메서드를 사용시 변수명을 기준으로 작성이 되는데, 첫 글자가 대문자는 불가능하고 중간에 "_" 언더바 같은 기호도 인식이 불가능합니다. DB 테이블에 칼럼명을 이런 규칙을 어기면서 생성해야 하는 경우에는 아래와 같이 @Column(name.. 2022. 5. 10.
[Spring] 스프링 의존성 주입 (Dependency Injection) 개념 및 종류 오늘은 Spring 프레임워크의 DI (의존성 주입, Dependency Injection)에 관해 공부를 하면서 정리를 해보도록 하겠습니다. 1. DI(의존성 주입)이란? Spring Dependency Injection이란, 각 객체 간 의존관계를 스프링 컨테이너가 개발자가 정의한 Bean 등록 정보를 바탕으로 자동으로 주입해주는 기능입니다. 일반적인 다양한 기존 스프링 프로젝트를 보면, Controller에서 Service나 Repository 객체를 사용 시, new 키워드를 통해 컨트롤러에서 객체를 직접 생성하여 사용하지 않고 의존성 주입을 통해 스프링 컨테이너에 생성된 객체를 받아 사용하고 있는 것을 볼 수 있습니다. @Component, @Service, @Repository, @Contro.. 2022. 4. 22.
[VS Code] Java Project 생성 / VSCode Debug Console 설정 안녕하세요, MS의 오픈소스 무료 소스코드 편집 툴인 VS Code에서 일반 Java Project를 생성하고 실행하면서 이런저런 세팅을 하여 VS Code에 Java 개발 환경을 세팅해보도록 하겠습니다. 1. Java Project 생성 및 실행 가장 먼저 기본적으로 JAVA 설치 및 환경변수 세팅은 기본으로 되어 있어야 합니다. 관련 내용은 [[IT] JAVA] - JAVA 설치 및 환경 셋팅 (OpenJDK) 이 포스팅을 참고해주세요~ 그 다음으로는 VS Code를 실행하여 JAVA 관련 Extension을 설치합니다. 단축키 [Ctrl] + [Shift] + [X] 혹은 아래 좌측 메뉴의 Extensions 아이콘을 클릭하여 Extensions 메뉴로 이동합니다. 그런 다음 검색창에 "Extens.. 2022. 2. 16.
[VS Code] VSCode에 Spring Boot 개발 환경 세팅 및 샘플 프로젝트 생성, 실행 안녕하세요, 오늘은 MS(마이크로 소프트)의 오픈소스 무료 소스코드 편집 툴인 VS Code(비주얼 스튜디오 코드)에 Spring Boot 개발 환경을 세팅하고 간단히 프로젝트 생성 및 실행을 해보도록 하겠습니다. VSCode에서 스프링부트를 사용해보니, Eclipse 기반 STS와 비교하면 확실히 가볍고 빠른 장점이 있고, IntelliJ에 비교하면 무료 오픈소스이기 때문에 누구나 쉽게 접근이 가능합니다. 1. Extension 설치 혹시 VSCode 설치가 안되어 있다면, VSCode 설치는 [ [Node.js 개발환경] Node.js 및 VS code 설치, Node.js 초기 프로젝트 생성 및 실행 ] 포스팅을 참고하세요~ VSCode 자체가 JAVA 언어만을 위한 툴이 아니라서 별도로 JAVA .. 2022. 2. 7.
반응형