# Spring Boot๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฒŒ์‹œํŒ API ์„œ๋ฒ„ ์ œ์ž‘ (1) - ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
Study Repository

Spring Boot๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฒŒ์‹œํŒ API ์„œ๋ฒ„ ์ œ์ž‘ (1) - ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

by rlaehddnd0422

์ƒํ’ˆ ํŒ๋งค API ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•ด๋ณด๋ฉฐ Spring์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ์†Œ์žฌ๋“ค์„ ์ ์šฉ์‹œ์ผœ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
 
Spring Boot ๊ณต๋ถ€ ๋ชฉ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ์ ํŠธ๋ผ, ์ง„ํ–‰ ์‚ฌํ•ญ์ด ์–ธ์ œ๋“ ์ง€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
์šฐ์„  ์ œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿšฉ๊ธฐ๋ณธ ๊ธฐ๋Šฅ

  • Spring Security
    • Jwt Authentication & Authorization๋ฅผ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ
    • ํšŒ์› ๊ฐ€์ž…
    • OAuth2.0 Social ๋กœ๊ทธ์ธ
  • ํšŒ์› ๊ฐ„์˜ ์ชฝ์ง€ ๊ธฐ๋Šฅ
  • ๋ฌผํ’ˆ ํŒ๋งค ๊ฒŒ์‹œํŒ
  • ๊ณ„์ธตํ˜• ๋Œ“๊ธ€
  • ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ
  • Querydsl ๋™์  ๊ฒ€์ƒ‰ 

๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ๋“ค์„ ๋จผ์ € ๊ตฌํ˜„ํ•œ ๋’ค, ๋‹ค๋ฅธ ์ฃผ์ œ๋“ค๋„ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜๋ฉด ์ ์šฉํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
+ API ์œ„์ฃผ๋กœ ๊ตฌํ˜„ํ•  ๊ณ„ํš์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ทฐ๋Š” ์‹œ๊ฐ„์  ์—ฌ์œ ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

Project Initializer

  • Dependencies 
    • Spring Web
    • Spring Security
    • Spring Data JPA
    • H2 Database
    • Lombok
    • OAuth2 Client
    • Validation
    • Mustach
  • Spring Boot 2.7.12, 
  • packaging : jar
  • Java : 11 
  • IDE : IntelliJ

 

Project ์„ค์ •

Generateํ•œ ์ดํ›„ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด์–ด์„œ gradle์ด IntelliJ์—์„œ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝํ•˜๊ณ , Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์„ฑํ™” ์‹œ์ผœ ์ค์‹œ๋‹ค.
 
 

dependency๊ฐ€ ๋ชจ๋‘ import ๋˜๋ฉด ์„œ๋ฒ„๋ฅผ ์ผœ์„œ login ํ™”๋ฉด์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค.
 

DataSource ์„ค์ •

spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/board
    username: sa
    password:
    driver-class-name: org.h2.Driver
  jpa:
    hibernate:
      ddl-auto: 
    properties:
      hibernate:
      show_sql: true
      format_sql: true

logging.level:
  org.hibernate.SQL: debug

resource์˜ application.properties๋ฅผ application.yml๋กœ ๋ณ€๊ฒฝ ํ›„ DataSource ๋ฐ ๋กœ๊น… ๋ ˆ๋ฒจ์„ ์ง€์ •ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
 

properties๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ, ์ €๋Š” ๊ฐ€๋…์„ฑ ์ธก๋ฉด์—์„œ yml์ด ์ข‹๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ๋ณ€๊ฒฝ ํ›„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. properties๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์ค€๋น„๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.
์ด์ œ ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” Member ์—”ํ‹ฐํ‹ฐ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
 
์ „์ฒด ์ฝ”๋“œ๋Š” ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/Dongwoongkim/finalBoard

Dongwoongkim/finalBoard

์Šคํ”„๋ง ๋ถ€ํŠธ ํ†ตํ•ฉ API ์„œ๋ฒ„ ์ œ์ž‘. Contribute to Dongwoongkim/finalBoard development by creating an account on GitHub.

github.com

 

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ