๐ ๊ด๋ จ ๊ธ
- [Spring ์น ํ๋ก์ ํธ] ์๋ฐ ํ๋ซํผ GOING
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 1. ๊ตญ๋น์ง์๊ต์ก์ ํ๊ณ
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 2. SqlSessionFactory -> SqlSessionTemplate
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 3. ์์กด์ฑ ์ฃผ์ ์์
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 4. @Service, ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ
- [Spring/์คํ๋ง] JUnit์ ์ด์ฉํ ๋จ์ ํ ์คํธ, @Test
- ์นํ๋ก์ ํธ ๋ฌธ์์ธ์ฆ ๊ตฌํํ๊ธฐ with ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ
- [Java/์๋ฐ] ๋ ์ง-Date์ ๋ชจ๋ ๊ฒ (ํ์ฌ-๋ด์ผ ๋ ์ง, Date ํฌ๋งท ๋ณํ, ๋ ์ง ์ฐจ์ด ๊ณ์ฐ, ๋ํ๊ธฐ, ๋นผ๊ธฐ)
- ์๋ฐ ์ธ๋ฏธ ํ๋ก์ ํธ - ์๋ฐ ํ๋ซํผ GOING
โก๏ธ๋ฆฌํฉํ ๋ง Before -> After
๐ Before
๊ฐ์ฒด์๊ฒ ํ๋ ์ฃผ์ ๋ฐฉ์์ผ๋ก ์์กด์ฑ์ ์ฃผ์ ํ์์ต๋๋ค.
๐ After
ํ๋ก์ ํธ์ ๋ชจ๋ ์ฝ๋๋ค์ ์์ฑ์ ์ฃผ์ ๋ฐฉ์๊ณผ ๋๋ถ์ด final ํค์๋๋ฅผ ์ฌ์ฉํด ๋ถ๋ณ์ฑ์ ํ๋ณดํ์ต๋๋ค.
โก๏ธ๋ฆฌํฉํ ๋ง ์ด์
๐ ์ด์
๊ธฐ์กด Model2 ํ๋ก์ ํธ๋ฅผ ๋ณ๊ฒฝํ๋ฉฐ ๊ฐ์ฌ๋์ ํ๋ ์ฃผ์ ์ผ๋ก ์์กด์ฑ์ ์ฃผ์ ํ์ต๋๋ค.
์ ์ด์ 3๊ฐ์ง ์ฃผ์ ๋ฐฉ์์ ๋ํด ์ค๋ช ํ์ง ์์์ ๋ชจ๋ฅด๊ณ ์ง๋์ณค์ ์๋ ์์์ผ๋
๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ๋ฉฐ ํ๋ ์ฃผ์ ์ ๊ฐ๋จํ์ง๋ง ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋นํด ํน๋ณํ ์ด์ ๋ ์๊ณ ,
์คํ๋ง ํ์์ ๊ถ์ฅํ์ง ์๋๋ค๊ณ ๋ฐฐ์ ์ต๋๋ค.
์ด์ ํ๋ก์ ํธ์ ๋ชจ๋ ์์กด์ฑ ์ฃผ์ ์ ์์ฑ์ ๋ฐฉ์์ผ๋ก ๋ฆฌํฉํ ๋งํ๊ฒ ๋์์ต๋๋ค.
๐ ์์ฑ์ ์ฃผ์ ์ ์ด์
์์กด์ฑ ์ฃผ์ ๋ณ ์ค๋ช ์ ์ด์ ๊ธ์์๋ ์ค๋ช ํ์ง๋ง ํน๋ณํ ์์ฑ์ ์ฃผ์ ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๐ final ํค์๋ ์ฌ์ฉ
์ฐ์ final ํค์๋๊ฐ ๋ถ์ ํ๋๋ ๋ฉ์๋๋ ๋ถ๋ณ์ ์๋ฏธ๋ฅผ ๊ฐ๊ณ , ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก๋ง ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ๋ช ์์ ์ด๊ธฐํ
- ์ด๊ธฐํ ๋ธ๋ญ์์ ์ด๊ธฐํ
- ์์ฑ์์์ ์ด๊ธฐํ
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ setter ์ฃผ์ ์ด๋ ํ๋ ์ฃผ์ ์ผ๋ก๋ final ์ฌ์ฉ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด final์ ์ฌ์ฉํด ์ป๋ ์ด์ ์ ๋ฌด์์ด ์์๊น์?
์ฝ๋๋ฅผ ์์ฑํ๋ฉฐ ์์กด ๊ด๊ณ์ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ง๋ง
ํ๋ ์ฃผ์ ์ด๋ setter ์ฃผ์ ์ ์ด์ฉํด ์์กด์ฑ์ ์ฃผ์ ํ๋ค๋ฉด ๋ถํ์ํ ๋ณ๊ฒฝ์ ๊ฐ๋ฅ์ฑ์ ์ฐจ๋จํ ์ ์๊ณ ,
์คํ ์ค ์์กด์ฑ์ ๋ํ ๋ฌธ์ ๋ฅผ ์ปดํ์ผ ์์ ์ ๋ฏธ๋ฆฌ ๋ฐฉ์งํ ์ ์์ด
๋ ์์ ํ๊ณ ์ ์ง๋ณด์์ ์ฉ์ดํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
๐ StackOverFlow ์๋ฌ ๋ฐฉ์ง
์๋ก ๋ค๋ฅธ ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ๊ณ์ํด์ ์๋ก๋ฅผ ํธ์ถํ๊ฒ ๋๋ค๋ฉด
๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ํด์ ์ฝ๋ฐฑ์ด ์์ด๋ค๊ฐ StackOverFlow ์๋ฌ๋ฅผ ๋ฑ์ต๋๋ค.
์ด๋ฌํ ๊ฒฝ์ฐ๋ ์ ์ผ์ด๋์ง ์์ง๋ง ์์ฑ์ ์ฃผ์ ์ ์ฌ์ฉํ๋ค๋ฉด ํ๋ก๊ทธ๋จ์ด ๊ตฌ๋ ๋๋ ๋์ค ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๊ณ
๊ฐ์ฒด์ ์์ฑ ์์ ์ ์ํ ์ฐธ์กฐ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์๋ฌ๋ฅผ ๋ฐ์์ํค๊ธฐ ๋๋ฌธ์ ๋ ์์ ํฉ๋๋ค.
๋๊ธ