Spring(72)
-
[Spring Boot] @Order
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ @Order์ ๋ํด์ ํ๋ฒ ์์๋ณผ ๊ฒ์ด์์. ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ @Order Order์ ๊ธฐ๋ณธ๊ฐ์ Ordered.LOWEST_PRECEDENCE๊ฐ ์ง์ ๋๋ ๊ฒ์ด์์. ๐ @Order ์์๊ฐ ๐ @Order ์์๊ฐ ๋ณ ์คํ์์ ๊ฐ์ฅ ๋ฎ์ ์์๋๋ก Ordered.HIGHEST_PRECEDENCE ๊ฐ์ 1์ ๋ํ๋ฉด์ ์ ์ ์์๊ฐ ๋ฎ์์ง๋ ๊ฒ์ด์์. ๐ ์ฐธ๊ณ ์๋ฃ https://javafactory.tistory.com/1516
2021.12.21 -
[์ฐ๋ฆฌ์ง ๊ฐ์กฑ ์ปค๋ฎค๋ํฐ ์น ์๋น์ค ํ๋ก์ ํธ] ๊ธฐ์ ์ ๋ฆฌ - ์ด๊ธฐ๊ตฌ์ฑ
์ฐ๋ฆฌ ๊ฐ์กฑ์ ์ปค๋ฎค๋ํฐ ์น ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๋จผ์ Server ์์ ์ ํ๊ณ ์๋ ๊ฒ์ด์์. ์ฝ๋ฉ์ ํ๋ฉด์ ๋ด์ฉ์ ์ ๋ฆฌํด์ ๋์ค์ ์ฃผ๋ ํ๋๋ ํ์ธํ๊ณ , ์ฌ๊ธฐ ์ค์ ์ฌ๋ฌ๋ถ๋ค๊ณผ๋ ๊ณต์ ํ๊ณ ์ถ์ ๊ฒ์ด์์! ๊ทธ๋ผ ์์ํด ๋ณด๊ฒ ์ต๋๋ค! ํด๋น ํ๋ก์ ํธ์ ๋ํ Source Code๋ '์ฃผ๋ํ๋ Git Hub'์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐ ๋ชฉ์ฐจ(INDEX) 1. ์ด๊ธฐ๊ตฌ์ฑ 2. Spring Security ์ด๊ธฐ ๊ตฌ์ฑ 3. Interceptor ์ค์ . 4. ์ด๊ธฐ Domain ์ค์ ๐ Build.gradle ๋จผ์ ์ฃผ๋ํ๋์ ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์ํด ์ด๋ฌํ ์๋น์ค๋ฅผ ์ด์ฉํ๊ณ ์ถ์ ๊ฒ์ด์์. ๊ฐ์ฒด ์งํฅ์ DB ๊ด๋ฆฌ๋ฅผ ์ํด Spring DATA JPA๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ณ , RESTFulํ๊ฒ ์น ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด hatoas๋ฅผ ์ ..
2021.12.20 -
[WEB] Interceptor, Sevlet, Filter, Resource Handler ์์๋ณด๊ธฐ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์ ๋ชฉ์ ์ด๊ฑฐํ ๊ฒ๋ค์ ๋ํด ํ๋ฒ ์์๋ณด๋ ๊ฒ์ด์์. ์ฐ๋ฆฌ๊ฐ WEB์ ๋ง๋ค ๋, ์ธ์ฆ์ด๋, ํ์ผ ์ ๋ก๋ ๋ฑ์ ํ ๋ ํ์ํ ๊ฐ๋ ์ผ๋ก ์ด๋ค ์์ผ๋ก ์์ฒญ์ ๋ฐ์๋๋ฆฌ๋์ง ์์์ผ ํ๋ ๋ถ๋ถ์ด๋ผ ์ ๋ฆฌ๋ฅผ ํด ๋ณด์์ต๋๋ค. ๊ทธ๋ผ ๋ฐ๋ก ์์ ํด ๋ณผ๊ฒ์! ๐ Interceptor, Servlet Filter Spring Filter์ Intercptor๋ ์ด๋ค ์ฐจ์ด์ ์ด ์์๊น์? Filter๋ Servlet Container์ ์ด ์ ์ ๊ณตํต์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ๋๋ ๋ถ๋ถ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒ์ด๊ณ , Interceptor๋ AOP์ฒ๋ผ ํน์ ์์ ์ ๊ฐ๋ก์ฑ๊ธฐ ํ์ฌ ์ด๋ค ํ์๋ฅผ ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด์์. Spring ๋๋ Spring Boot ํ๋ ์์ํฌ๋ก Web Application์ ๊ฐ๋ฐํ๋ค ๋ณด..
2021.12.20 -
[Spring] Spring MVC๋?
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ Spring MVC๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ํ๋ฒ ์์๋ณด๋ ค๊ณ ํ๋ ๊ฒ์ด์์. ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ Spring MVC๋? Spring ํ๋ ์์ํฌ๊ฐ ์ ๊ณตํ๋ Web Module๋ก MVC๋ Model-View-Controller์ ์ฝ์์ธ ๊ฒ์ด์์. Model์ด๋? Deta Design์ ๋ด๋น ์ : ์ํ ๋ชฉ๋ก, ์ฃผ๋ฌธ ๋ด์ญ ๋ฑ View๋? ์ค์ ๋ก ๋ ๋๋ง๋์ด ๋ณด์ด๋ Page ๋ด๋น ์: React, jsp ๋ฑ Controller๋? ์ด์ฉ์์ ์์ฒญ์ ๋ฐ๊ณ , ์๋ต์ ์ฃผ๋ Logic ๋ด๋น ์: HTTP Method GET, POST ๋ฑ์ URI Mapping Spring MVC Module์ ์ฌ์ฉํ์ฌ Back End Programming์ ๊ธฐ๋ณธ ํ๋ ์์ํฌ๋ฅผ ์ก๋ ๊ฒ์ด์์. ์ด ์น..
2021.12.20 -
[Spring Framwork] DataIntegrityViolationException
๐ DataIntegrityViolationException โ ๋ฌธ์ ๋ฐ์! org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:276) at org.springfram..
2021.11.16 -
[Spring Framwork] LazyInitializationException / @EntityGraph
๐ LazyInitializationException โ ๋ฌธ์ ๋ฐ์! ๐ป Repository Code ๐ป Test Code โ ๋ฌธ์ ์ดํด ์ด๊ฒ์ Review Class์ Member์ ๋ํ Fetch ๋ฐฉ์์ด LAZY(์ง์ฐ ๋ก๋ฉ)์ด๊ธฐ ๋๋ฌธ์ ํ ๋ฒ์ Review ๊ฐ์ฒด์ Member ๊ฐ์ฒด๋ฅผ ์กฐํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ Exception์ธ ๊ฒ์ด์์. @Transactional์ ์ ์ฉํ๋ค๊ณ ํด๋ ๊ฐ Review ๊ฐ์ฒด์ getMember().getEmail()์ ์ฒ๋ฆฌํ ๋๋ง๋ค Member ๊ฐ์ฒด๋ฅผ Lodingํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ต๋๋ค! ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์๋์ ๊ฐ์ด ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ ๊ฒ์ด์์. @Query๋ฅผ ์ด์ฉํด์ Join์ฒ๋ฆฌ @EntityGraph๋ฅผ ์ด์ฉํด์ Review ๊ฐ์ฒด๋ฅผ..
2021.11.16