{"id":23161315,"url":"https://github.com/slicequeue/spring-boot-boilerplate-jpa-boilerplate","last_synced_at":"2025-04-04T19:29:12.817Z","repository":{"id":155138218,"uuid":"600271664","full_name":"slicequeue/spring-boot-boilerplate-jpa-boilerplate","owner":"slicequeue","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-29T05:02:27.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T04:29:45.010Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slicequeue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-02-11T01:23:37.000Z","updated_at":"2023-12-26T11:02:42.000Z","dependencies_parsed_at":"2023-05-14T19:00:39.919Z","dependency_job_id":null,"html_url":"https://github.com/slicequeue/spring-boot-boilerplate-jpa-boilerplate","commit_stats":null,"previous_names":["slicequeue/spring-boot-boilerplate-jpa-boilerplate"],"tags_count":0,"template":true,"template_full_name":"slicequeue/spring-boot-boilerplate-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fspring-boot-boilerplate-jpa-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fspring-boot-boilerplate-jpa-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fspring-boot-boilerplate-jpa-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fspring-boot-boilerplate-jpa-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slicequeue","download_url":"https://codeload.github.com/slicequeue/spring-boot-boilerplate-jpa-boilerplate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247237258,"owners_count":20906262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T23:13:52.973Z","updated_at":"2025-04-04T19:29:12.798Z","avatar_url":"https://github.com/slicequeue.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot API Boilerplate\n- slicequeue! spring boot api boilerplate 프로젝트\n  - JPA 적용, H2 데이터베이스 사용\n\n## 구성\nSpring Boot RESTful API 전용 프로젝트\n+ JPA 적용, H2 데이터베이스 사용\n\n### 폴더 구조\n- TBU\n\n### 사용 라이브러리\nbuild.gradle 구성 내용 설명\n* JAVA 17\n#### plugin\n* 'org.springframework.boot' version 2.7.5\n#### dependencies\n* spring-boot-starter 관련 - plugin-version 2.7.5\n  * spring-boot-starter-web\n  * spring-boot-starter-test - junit jupiter\n  * spring-boot-starter-actuator\n  * spring-boot-starter-data-jpa\n* database\n  * runtimeOnly com.h2database:h2 - 실행용 인메모리 H2\n  * testRuntimeOnly com.h2database:h2 - 테스트용 인메모리 H2\n* micrometer \u0026 prometheus\n  * io.micrometer:micrometer-registry-prometheus:1.8.4\n* logback \u0026 log4j 취약점 대응\n  * ch.qos.logback:logback-core:1.2.10\n  * ch.qos.logback:logback-classic:1.2.10\n  * org.slf4j:slf4j-api:1.7.32\n  * org.slf4j:jul-to-slf4j:1.7.32\n  * org.apache.logging.log4j:log4j-to-slf4j:2.17.1\n  * org.apache.logging.log4j:log4j-api:2.17.1\n\n## 초기 세팅\n프로젝트 초기 세팅 관련 설정법 기술\n\n### application.yml 설정\n* 앱 이름 설정\n  * spring.application.name: \u003c프로젝트명_설정\u003e\n\n### H2 관련 설정\n* main.resources.application.yml 설정\n  * DB_URL: 데이터에비스 접속\n    * 예시 (H2 in mem): jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_UPPER=FALSE\n    * 예시 (H2 in local): jdbc:h2:~:testdb;MODE=MySQL;DATABASE_TO_UPPER=FALSE\n  * DB_USER: DB 계정 아이디\n    * 예시(H2 in mem):\n  * DB_PASS: DB 계정 비밀번호\n    * 예시(H2 in mem):\n  * DB_POOL_SIZE: DB Hikari PoolSize\n    * 예시(H2 in mem):\n* test.resources.application.yml 설정\n  * application.yml 에 H2 인메모리 DB 로 설정 고정\n    * 상황에 맞게 직조작 할 것\n\n### 액티브프로파일 설정\n* jvm active profile 값 설정, IntelliJ 실행 설정으로 처리\n  * 기본 설정값 관련해서는 예시용으로 작성한 logback-local.xml `local` 로 설정해야 작동\n* JUnit 테스트 실행시에는 test.java.resources 부분에 application.yml 설정 적용되며\n  * 각 테스트에 ActiveProfile 어노테이션으로 `test` 로 지정함\n* 실행시 VM 다음 옵션으로 프로필 지정 `-Dspring.profiles.active={대상프로필값}` 으로 지정하여 실행\n  * 각 개발 도구에 따라서 잘 적용할 것!\n \n### 패키지경로 수정 \u0026 logback 로그 설정\n* 현재 기본값인 `com.slicequeue.project` 명 적절하게 변경, 테스트 경로 까지 동일하게 변경 진행해야함\n  * 각 개발 도구의 패키지 rename 기능을 활용하여 처리할 것\n* ProjectApplication 클래스명 수정 위 프로젝트 명에 따라서 수정, 테스트에 동일하게 위치한 테스트 클래스명도 수정\n* 위 액티브프로파일설정에서 main.resources.logback-local.xml 파일 수정\n  * 31번 라인 관련하여 적절하게 로그 나올 수 있도록 프로젝트 패키지 경로 지정 필요\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicequeue%2Fspring-boot-boilerplate-jpa-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslicequeue%2Fspring-boot-boilerplate-jpa-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicequeue%2Fspring-boot-boilerplate-jpa-boilerplate/lists"}