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๊ฐ์ง
- mvn spring-boot:run
- ์คํ๋ง ๋ถํธ ๋ฉ์ดํ ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ
- ๋ฉ์ด๋ธ์ ์ฌ์ฉํด์ ์คํ
- mvn ๋ฏธ์ค์น์ mvnw ์คํฌ๋ฆฝํธ๋ก ์คํ๊ฐ๋ฅ
- main ํด๋์ค ์คํ
- ๊ฐ์ฅ ํ๋ฒํ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์คํ๋ฐฉ๋ฒ
- ide ์ฌ์ฉ
- jar ํจํค์ง & java -jar
- ์คํ๋ง ๋ถํธ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด jarํ์ผ ํจํค์ง
- ์๋ฒ์ ๋ฐฐํฌํ๋ ์ฉ๋๋ก ์ฃผ๋ก ์ฌ์ฉ
# ์๋ ์ค์
Convention over Configuration
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค์ ํ ๋น ๋ฑ๋ก
- @ComponentScan
- @Component, @Service, @Controller, @Repository
- @Service, @Controller, @Repository ๋ ์ปดํฌ๋ํธ ์ด๋ ธํ ์ด์ ์ ํ์ฅ
- @Configuration
- @Bean
- ์๋ ์ค์ ์ผ๋ก ์ ๊ณตํ๋ ๋น ๋ฑ๋ก
- 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์ ๋ฐํ ๊ฐ๋ฅ