Annotation
Annotation ์์ฒด๋ ์ฃผ์์ด๋ผ๋ ๋ป์
๋๋ค.
C++/C ๋ค๋ฃจ๋ค๊ฐ Java ์ฝ๋๋ฅผ ๋ดค์ ๋ ๊ฐ์ฅ ์ฌ๋ฐ๊ฒ ๋ณธ ๋ฌธ๋ฒ์ด์์ต๋๋ค.
์์ฑ์ ์ด๋ฆ์ด๋ ๋ฐฐํฌ ๋ ์ง๋ง ์ ๋์ค ์์๋ ์ฃผ์์ด...! ๋ค๋ฅด๊ฒ ๋ณด์๊ธฐ ๋๋ฌธ์ธ๋ฐ์, ํน์ง์ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐ซ
Annotation ํน์ง
- AOP(Aspect Oriented Programming)์ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ฑํด์ฃผ๋ ์ฃผ์ ๊ธฐ๋ฅ
- ์ปดํ์ผ๋ฌ์๊ฒ ์ฝ๋์ ๋ฌธ๋ฒ ์๋ฌ๋ฅผ ์ฒดํฌํ ๋ ์ฐ๋ ์ ๋ณด๋ฅผ ์ ๊ณต
- ๊ฐ๋ฐ ํ๊ฒฝ ๋น๋/๋ฐฐํฌ ์ ์ฝ๋๋ฅผ ์๋ ์์ฑํ๋๋ก ์ ๋ณด ์ ๊ณต
- ๋ฐํ์์ ์ด๋ค ๊ธฐ๋ฅ์ ์คํํ๋๋ก ์ ๋ณด๋ฅผ ์ ๊ณต
Annotation ์ ๋ฆฌ (๊ณ์ ์ ๋ฐ์ดํธ ์์ )
1) @Override
- ๋ฉ์๋๋ฅผ Override ํ ๊ฒ์ด๋ ์ปดํ์ผ๋ฌ์๊ฒ ์๋ ค์ค๋๋ค
- ์์ ๋ฐ์ ๋ถ๋ชจ ํด๋์ฐ/์ธํฐํ์ด์ค๊ฐ ์๋ค!?๋ฉด ์ปดํ์ผ๋ฌ์์ ์ค๋ฅ๋ฅผ ๋ฐ์์์ผ์ค๋๋ค
@Override
public void overrideFunc()
{
System.out.println("Override");
}
2) @Deprecated
- ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋๋ผ๋ ์ ๋ณด๋ฅผ ์ ๊ณต
- Deprecated๋ก ํ์ํด๋์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ณณ์ด ์์ผ๋ฉด ๊ฒฝ๊ณ ํด์ค๋๋ค
@Deprecated
public void deprecatedFunc()
{
System.out.println("Deprecated ์ด์ ์ ์จ์");
}
3) @Autowired
@Autowired
@Qualifier("nameAddService")
- ํด๋น ๋ณ์ ๋ฐ ๋ฉ์๋์ ์คํ๋ง์ด ๊ด๋ฆฌํ๋ Bean์ ์๋์ผ๋ก ๋งตํ ํด์ค
- ๋ณ์ ํ์ ๊ณผ ์ผ์นํ๋ ์ปจํ ์คํธ ๋ด์ Bean์ ์ฐพ์์ค
- ํ์
์ด ์ผ์นํ๋ Bean์ด ์์ผ๋ฉด ์ธ์คํด์ค ๋ณ์์ ์ฃผ์
ํด์ค (DI)
- ์ผ๋ฐ์ ์ผ๋ก DI๋ฅผ ์ํด์๋ ์์ฑ์/์์ ์ ๊ฐ์ ๋ฉ์๋๊ฐ ํ์ํ์ง๋ง @Autowired๋ฅผ ์ฐ๋ฉด ๋ฉ์๋๊ฐ ์์ด๋ ์ฃผ์ ๊ฐ๋ฅ
- @Resource๋ ์ด๋ฆ์ผ๋ก ์์กด์ฑ ์ฃผ์
! @Autowired๋ ํ์
์ผ๋ก ์์กด์ฑ ์ฃผ์
- ๋์ผํ Bean ํ์ ์ด ์๋ค๋ฉด @Qualifier๋ฅผ ๊ฐ์ด ์ฌ์ฉํด์ผ ํจ
compenent-scan Tag
<context:component-scan base-package="test.worldTest">
@Qualifier
- @Autowired๋ก ์ฐ๊ฒฐํ Bean ๋ชฉ๋ก์์ Bean์ ๊ตฌ๋ณํด์ค
'๐ Java&Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring Cron Expression (0) | 2023.01.25 |
---|---|
StringUtils (0) | 2023.01.18 |
Intellij) Junit Test Code ์์ฑ ์ "Execution failed for task" ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2023.01.09 |
Web Server vs WAS (0) | 2022.04.25 |
Spring Framework๋ฅผ ์์๋ณด์ (0) | 2022.04.22 |