ALOHA CLASS
/
Back-End
/
Spring Boot
Search
Share
μ€νλ§ λΆνΈ
μμ‘΄μ± μ£Όμ (DI; Dependency Injection)
μμ‘΄μ± μ£Όμ (DI)μ μννΈμ¨μ΄ κ°λ°μμ μ€μν κ°λ μ λλ€. DIλ μ»΄ν¬λνΈ κ°μ μμ‘΄μ±μ μΈλΆμμ μ£Όμ ν¨μΌλ‘μ¨ λμ¨ν κ²°ν©μ μ μ§νλ λ°©λ²μ λλ€. μ΄λ₯Ό ν΅ν΄ μ½λμ μ μ°μ±κ³Ό μ¬μ¬μ©μ±μ λμΌ μ μμ΅λλ€.
μ€νλ§ DI
μ€νλ§ νλ μμν¬μμλ DIλ₯Ό μ½κ² ꡬνν μ μλ κΈ°λ₯μ μ 곡ν©λλ€. μ€νλ§ DI 컨ν μ΄λκ° κ°μ²΄ κ°μ μμ‘΄μ±μ κ΄λ¦¬νκ³ νμν μμ‘΄ κ°μ²΄λ₯Ό μ£Όμ ν΄μ€λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ κ°μ²΄λ₯Ό μμ±νκ³ μμ‘΄μ±μ κ΄λ¦¬νλ λΆλΆμ μ§μ€ν νμ μμ΄ λΉμ¦λμ€ λ‘μ§μ μ§μ€ν μ μμ΅λλ€.
μμ‘΄μ± μ£Όμ (DI)
HTTP
HTTP(Hypertext Transfer Protocol)λ μΉ μλ²μ ν΄λΌμ΄μΈνΈ κ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν ν΅μ νλ‘ν μ½μ λλ€.
HTTP
HTTP X SpringBoot -
RestTemplate
&
WebClient
HTTP μμ² λ©μμ§μ μλ° μΉκ°λ°
β’
HTTP λ©μμ§μ ν€λ μ 보μλ μμ²νλ 리μμ€μ νμ , κΈΈμ΄, μΈμ½λ© λ°©μ λ±μ μ λ³΄κ° ν¬ν¨λ μ μμ΅λλ€.
β’
Java
μμλ
HttpURLConnection
ν΄λμ€λ₯Ό μ¬μ©νμ¬ HTTP μμ²μ λ³΄λΌ μ μμ΅λλ€. μμ μ½λμμλ GET μμ²μ 보λ΄λ λ°©λ²μ 보μ¬μ€λλ€.
HTTP X SpringBoot -
RestTemplate
&
WebClient
Request
: HTTP Request(μμ²)λ ν΄λΌμ΄μΈνΈκ° μλ²λ‘ 보λ΄λ μμ² λ©μμ§λ‘, μΉ λ¦¬μμ€μ λν λμ(GET, POST, λ±) λ° ν΄λΉ 리μμ€μ ν¨κ» μ λ¬λλ λ°μ΄ν°λ₯Ό μ μν©λλ€.
Request
Response
: μλ²μμ ν΄λΌμ΄μΈνΈλ‘ 보λ΄λ μλ΅ λ©μμ§λ‘, ν΄λΌμ΄μΈνΈμ μμ²μ λν μν λ° ν΄λΉ μμ²κ³Ό ν¨κ» μ λ¬λλ λ°μ΄ν°λ₯Ό μ μν©λλ€.
Response
Thunder Client
κ²½λ Rest API ν΄λΌμ΄μΈνΈ μ΅μ€ν μ μΌλ‘, Visual Studio Codeμ©μΌλ‘ μ€κ³λ κ°λ¨νκ³ κΉλν λμμΈμ κ°μ§κ³ μμ΅λλ€.
marketplace.visualstudio.com
Thunder Client
MyBatis
MyBatis λν΄μ μμλ³΄κ³ κ°λ¨νκ² κ²μν κΈ°λ₯μ ꡬννλ μ€μ΅κΉμ§ μ§νν΄ λ³΄λλ‘ νκ² μ΅λλ€.
β’
Mybatis
β’
νλ‘μ νΈ κ΅¬μ‘°
β’
μ€νλ§ λΆνΈμμ MyBatis μ¬μ©
MyBatis
κ²μν
REST (Representational State Transfer)
μν νν μ μ‘ μν€ν μ²
present [prΙͺΛzent]
: 보μ¬μ£Όλ€
REST
κ°μ
β’
MVC ν¨ν΄
β’
MVC vs REST
β’
MVCλ μΈμ μ°μ΄λ?
β’
RESTλ μΈμ μ°μ΄λ?
β’
MVC model1
MVC
Pagination
1.
Page κ°μ²΄ μ μ
2.
쿼리 μ μ©
3.
νμ΄μ§λ€μ΄μ
Pagination
Spring Validation
μ£Όμ νΉμ§
Spring Validation
Springdoc OpenApi
API κ°λ° λ¬Έμν λꡬ
Springdoc OpenApi
μ£Όμ μ΄λ Έν μ΄μ μ 리
β’
μμ‘΄μ± μ΄λ Έν μ΄μ
β’
μμ² κ²½λ‘ λ§€ν μ΄λ Έν μ΄μ
β’
μμ² νλΌλ―Έν° μ΄λ Έν μ΄μ
μ£Όμ μ΄λ Έν μ΄μ μ 리