[Spring] Library 살펴보기 및 스프링 환경설정

2022. 12. 12. 22:11·JVM/Spring

주요 Library 목록

 

HikariCP

DB Connection Pool Library
 

slf4j

인터페이스 모음으로 요새 대세.
라이브러리 설정만 바꾸면 구현되있는 로거를 바꿀 수 있는 애
 

Thymeleaf

Web View 단
 
 
 

build.gradle

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	// 개발 편의성을 위한 툴, reloading 에 유리
	implementation 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'com.h2database:h2'
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

H2 DB

최초 연결시

jdbc:h2:~/[이름]


최초 1회 연결시 파일(mv.db) 생성을 위해 로컬 파일 기반 접속.

TCP 원격 접속으로는 파일 생성이 불가능.

시스템 트레이 - H2 Database Engine 아이콘 클릭

 

최초 연결시 파일 생성

 

 

DB생성이 그래도 안되는데요?

그럼 이방법을 써보시라

H2 우클릭 - Create a new database

 

dbtest db생성

생성 완료시 %USER_HOME% 디렉토리에 `dbtest.mv` 파일이 생성됨을 확인할 수 있다.

 

 

 

이후 연결시 : tcp 연결

jdbc:h2:tcp://localhost/~/[이름]


왜? 로컬 파일접속 시 파일에 .lock 이 생기며 락이 걸리기 때문에 다른 클라이언트에서 h2 db 접근이 불가함

여러 H2 Client 에서 DB 연결을 허용하기 위해 원격 TCP 연결 사용 권장

 


Spring 라이브러리 의존 버전 확인방법

 

 

spring.io > Appendix > Dependency Versions > Managed Dependency Coordinates

 

SpringBoot 버전별 Transitive depencency version을 제공

 
 

build.gralde 예시

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.0.0'
	id 'io.spring.dependency-management' version '1.1.0'
}

group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '18'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	// 아래 버전정보 명시가 없는 라이브러리들은 자동으로 springboot 가 버전을 명시하여 받아와줌. (의존성 설정)
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	// 개발 편의성을 위한 툴, reloading 에 유리
	implementation 'org.springframework.boot:spring-boot-devtools'
	// datasource proxy library
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:latest'
	runtimeOnly 'com.h2database:h2'
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

application.yaml  예시

spring:
#  DB Connection 과 관련된 설정
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa:
    hibernate:
    # 자동으로 테이블 생성하는 모드
    # Entity 정보를 보고 재생성
      ddl-auto: create
    properties:
      hibernate:
        # system out 에 출력되는 환경이라 비활성화
        show_sql: false
        format_sql: true

server:
  port: 9000

logging:
  level:
    # Hibernate 가 생성하는 SQL 이 모두 보이도록 디버그모드 사용.
    org.hibernate.SQL: debug
    org.hibernate.type: trace
저작자표시 (새창열림)

'JVM > Spring' 카테고리의 다른 글

[Spring] ConfigurationProperties + ConfigurationPropertiesScan  (0) 2023.02.13
[SpringBoot] Naming methods in each layer  (0) 2023.02.09
[Spring] Bean Scope  (0) 2022.12.07
[Spring] 빈 생명주기 콜백  (0) 2022.12.06
[Spring] Autowired 사용시 주의 (Feat. Custom Annotation)  (0) 2022.12.01
'JVM/Spring' 카테고리의 다른 글
  • [Spring] ConfigurationProperties + ConfigurationPropertiesScan
  • [SpringBoot] Naming methods in each layer
  • [Spring] Bean Scope
  • [Spring] 빈 생명주기 콜백
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    Programmers
    ubuntu
    알고리즘
    C++
    JPA
    docker
    Bitcoin
    javascript
    PostgreSQL
    java
    Git
    Kotlin
    android
    algorithm
    백준
    kafka
    Spring
    linux
    database
    프로그래머스
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
[Spring] Library 살펴보기 및 스프링 환경설정
상단으로

티스토리툴바