Lombok(๋กฌ๋ณต)์ ํน์ ์ด๋ ธํ ์ด์ ์ผ๋ก ํด๋น ์ฝ๋๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
์ฝ๋ ๋ค์ด์ดํธ?...๋ค์ด์ดํธ๋ ๋ด๊ฐ ํด์ผ๋๋๋ฐ..์๋ฌดํผ ๊ฐ๋
์ฑ, ์ ์ง ๋ณด์์ ๋์์ด ๋ง์ด ๋๋จ๋ค.
์ ์ต์ํ ์ด์ง๋ ๊ฐ๋
์ฑ์ด ์ ํ ๋์ ์ ๋๋๊ฒ ํจ์ ๊ทธ๊ฒ ๋์ผ๋
์๋ฐ๋น์ฆ ํจํด
๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ ํ, Setter ๋ฉ์๋๋ค์ ํธ์ถํด์ ์ํ๋ ๋งค๊ฐ ๋ณ์ ๊ฐ์ ์ค์ ํ๋ ๋ฐฉ์์ด๋ค. ์ ์๋ ์์กฐ๋ก์ ๋ณด์ด์ง๋ง... default ์์ฑ์๋ฅผ ํตํด์ ๊ฐ์ฒด๋ง ์์ฑํ๊ณ ํ์ํ ๋งค๊ฐ๋ณ์๋ค์
setter ๋ฉ์๋๋ก ๊ฐ์ ์ค์ ํด์ค๋ค๊ณ ํ ๋ ๋ง์ฝ ์ค์ ํด์ผํ ๋งค๊ฐ๋ณ์ ์๊ฐ ์์ฐฝ ๋ง์ผ๋ฉด
๊ทธ๋งํผ Setter ๋ฉ์๋๋ฅผ ํธ์ถํด์ผํจ.
TestVo testVo = new TestVo();
testVo.setUserIdx(1);
testVo.setUserName("Me");
testVo.setTitle("testTitle");
..
๋น๋ํจํด
์๋ฐ๋น์ฆ ํจํด์ ๋จ์ ์ ๋ณด์ํ ํจํด.
@Builder๋ ์์ฑ์ ์๋จ์ ์ ์ธํด์ฃผ๋ฉด, ๊ทธ ์์ฑ์์ ํฌํจ๋ ํ๋์ ๋ํด ๋น๋ ๋ฉ์๋๋ฅผ ์๋ ์์ฑ.
์คํ๋ง์์ Bean์ด๋?
์คํ๋ง ์ปจํ ์ด๋์ ์ํด์ ์๋ฐ ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ฉด, ์ด ๊ฐ์ฒด๋ฅผ ์คํ๋ง์ ์คํ๋ง ๋น(Bean)์ด๋ผ๊ณ ํจ.
์คํ๋ง ๋น๊ณผ ์๋ฐ ์ผ๋ฐ๊ฐ์ฒด์์ ์ฐจ์ด์ ์ ์๊ณ ์คํ๋ง ์ปจํ ์ด๋์์ ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ์คํ๋ง ๋น์ผ๋ผ๊ณ ๋ถ๋ฅผ ๋ฟ๋ฟ
์คํ๋ง ๋น์ ์ด๋ ธํ ์ด์ ์ข ๋ฅ
@Component , @Service, @Controller, @Repository, @Bean, @Configuration ๋ฑ์ผ๋ก ํ์ํ ๋น๋ค์ ๋ฑ๋กํ๊ณ ํ์ํ ๊ณณ์์ @Autowired๋ฅผ ํตํด ์ฃผ์ ๋ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
@Service, @Controller, @Repository๋ ๋ชจ๋ @Component๋ฅผ ์์๋ฐ๊ณ ์๋ค.
ํด๋น ์ด๋ ธํ ์ด์ ์ผ๋ก ๋ฑ๋ก๋ ํด๋์ค๋ค์ ์คํ๋ง ์ปจํ ์ด๋์ ์ํด ์๋์ผ๋ก ์์ฑ๋์ด ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋ก๋๋ค.
@Component & @Autowired
์คํ๋ง๋ถํธ์์ ์ฌ์ฉ์ ํด๋์ค๋ฅผ ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํ๋ ๊ฐ์ฅ ์ฌ์ ๋ฐฉ๋ฒ์ ํด๋์ค ์ ์ธ๋ถ ์์ ์ปดํฌ๋ํธ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
@Component๊ฐ ๋ถ์ ํด๋์ค๋ ์คํ๋ง ๋น ๊ฐ์ฒด๋ก ๋ฑ๋ก ๋์ด ๊ฐ์ฒด ์์ฑ/์ญ์ ๋ฅผ ์คํ๋ง์์ ๊ด๋ฆฌํ ์ ์๋ค.
'Programming๐ฉ๐ปโ๐ป > AxBoot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Banner / Logging / Excel download (0) | 2021.04.30 |
---|---|
jsfiddle (0) | 2021.04.23 |
*์ค์ ๋๋ฒ๊น , ๋จ์ํ ์คํธ (0) | 2021.04.22 |
Mybatis์ฐ๋ (0) | 2021.04.19 |
QueryDSL (0) | 2021.04.19 |