Programming๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/AxBoot

์ œ๋ชฉ ๋ฏธ์ •

Dodal 2021. 5. 20. 08:58

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