0217 - 0221


# 0217 - 0221

# 0217 - JPA fetch type

๋‘๊ฐ€์ง€ ๋กœ๋”ฉ๊ธฐ๋ฒ•์ด ์กด์žฌ
์ฆ‰์‹œ๋กœ๋”ฉ, ์ง€์—ฐ๋กœ๋”ฉ

# ์ฆ‰์‹œ๋กœ๋”ฉ(Eager)

  • ์กฐํšŒ์‹œ ์—ฐ๊ด€ ๊ด€๊ณ„์— ์žˆ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋ชจ๋‘ ์กฐํšŒ

# ์ง€์—ฐ๋กœ๋”ฉ(Lazy)

  • ์—ฐ๊ด€ ๊ด€๊ณ„์— ์žˆ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€์•Š๊ณ , ํ”„๋ก์‹œ๋กœ ๊ด€๋ฆฌ

# 0218 - ๋„คํŠธ์›Œํฌ๋ž€?

๋ฌด์–ธ๊ฐ€์™€ ๋ฌด์–ธ๊ฐ€๊ฐ€ ๋ฌด์–ธ๊ฐ€์— ์˜ํ•ด ์—ฐ๊ฒฐ๋˜์–ด์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๊ฒƒ

# ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋Š” ์ปดํ“จํ„ฐ์™€ ํ†ต์‹  ๋งค์ฒด, ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

# ๋ฆฌ์†Œ๋ฅด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ๋„คํŠธ์›Œํฌ์˜ ์‚ฌ์šฉ ๋ชฉ์ 

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ์œผ๋กœ์จ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ 

# 0219 - Spring Scheduler vs Spring Quartz

๋‘˜๋‹ค spring์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž‘์—… ์Šค์ผ€์ค„๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋‹จ์ˆœํ•œ ์Šค์ผ€์ค„๋ง ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด Spring Scheduler
์Šค์ผ€์ค„๋ง์˜ ์„ธ๋ฐ€ํ•œ ์ œ์–ด๊ฐ€ ํ•„์š”ํ• ๋•Œ๋Š” Spring Quartz


# 0220 - Spring boot ๊ด€๋ จ

# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€

  1. mvn spring-boot:run
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ๋ฉ”์ดํ”ˆ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ
  • ๋ฉ”์ด๋ธ์„ ์‚ฌ์šฉํ•ด์„œ ์‹คํ–‰
  • mvn ๋ฏธ์„ค์น˜์‹œ mvnw ์Šคํฌ๋ฆฝํŠธ๋กœ ์‹คํ–‰๊ฐ€๋Šฅ
  1. main ํด๋ž˜์Šค ์‹คํ–‰
  • ๊ฐ€์žฅ ํ‰๋ฒ”ํ•œ ์ž๋ฐ” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰๋ฐฉ๋ฒ•
  • ide ์‚ฌ์šฉ
  1. jar ํŒจํ‚ค์ง• & java -jar
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•ด jarํŒŒ์ผ ํŒจํ‚ค์ง•
  • ์„œ๋ฒ„์— ๋ฐฐํฌํ•˜๋Š” ์šฉ๋„๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ

# ์ž๋™ ์„ค์ •

Convention over Configuration

  1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์„ค์ •ํ•œ ๋นˆ ๋“ฑ๋ก
  • @ComponentScan
  • @Component, @Service, @Controller, @Repository
    • @Service, @Controller, @Repository ๋Š” ์ปดํฌ๋„ŒํŠธ ์–ด๋…ธํ…Œ์ด์…˜์˜ ํ™•์žฅ
  • @Configuration
  • @Bean
  1. ์ž๋™ ์„ค์ •์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋นˆ ๋“ฑ๋ก
  • META-INF/spring.factories
  • EnableAutoConfiguration
  • @Configuration && @ConditionalOnXxx

# Actuator

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ •๋ณด ์ œ๊ณต
REST API - HETEOS ์ œ๊ณต

  • ์›น(JSON)๊ณผ JMX ์ง€์›
  • ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ์ œ๊ณต
  • Spring-Boot-Starter-Actuator

# ์Šคํ”„๋ง ๋ถ€ํŠธ ์–ด๋“œ๋ฏผ

์Šคํ”„๋ง ๋ถ€ํŠธ Actuaor ๊ธฐ๋ฐ˜ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • https://github.com/codecentric/spring-boot-admin

# 0221 - @Valid vs @Validated ๊ทธ๋ฆฌ๊ณ  @AssertTrue

# @Valid vs @Validated

  • Valid
    • Java์—์„œ ์ œ๊ณต
    • ๊ทธ๋ฃน ๊ฒ€์ฆ ๊ธฐ๋Šฅ์ด ์—†๋‹ค.
  • Validated
    • Spring์—์„œ ์ œ๊ณต
    • ๊ทธ๋ฃน ๊ฒ€์ฆ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

# @AssertTrue

  • ์›ํ•˜๋Š” validation์„ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ
Last update: September 13, 2021 02:20
Contributors: ahnjs , jaesungahn91