일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ERD
- command
- handlerMapping
- MVC
- Agile
- getParameter
- DevOps
- App
- controller
- FrontController
- 내장객체
- Program
- UML
- pattern
- Framework
- classdiagram
- 맥린이
- 프롬프트
- usecasediagram
- system developer
- mybatis
- jsp
- Cloud
- backend
- getAttribute
- NOTE
- setAttribute
- Spring
- HTTP
- tiles
- Today
- Total
시작은 언제라도
Spring Annotation 본문
Annotation : 의미있는 주석 -> Annotation은 컴파일과 런타임시에 영향을 주는 의미있는 주석이다.
Spring Annotation -> 설정정보의 역할
Spring configuration (스프링 설정) -> XML + Annotation + Java Config + properties
Spring Annotation 종류
@Component 컴포넌트 계열 어노테이션 -> 스프링 컨테이너에서 해당 클래스 객체를 생성하도록 명시
--> 컴포넌트 계열 어노테이션은 다음과 같다
@Repository : 영속성 계층에서 사용 (ex_ MemberDAOImpl)
@Service : 비지니스 계층 (or 서비스 계층) 에서 사용 (ex - MemberServiceImpl)
@Controller : 프레젠테이션 계층 (or 컨트롤러 영역)에서 사용 (ex_ MemberController)
DI (dependency injection) 계열 어노테이션 -> 생성한 객체를 주입함
--> 스프링 컨테이너 로부터 의존성 주입 (필요로하는 객체) 받고자 할 때 사용.
@AutoWired : 의존 대상객체를 타입으로 검색해서 주입
-> 동일한 인터페이스의 구현 객체가 여러개일 경우 exception 발생
--> @Qualifier( bean id="")로 해결
@Resource : 의존 대상객체를 타입으로 검색해 주입 ( 여기에 spring container에서 DI 할 것을 명시한다 )
@Resource(name = "bean id") 을 명시하면 bean id 로 검색해 주입 , (AutoWired + Qualifier)
spring-config.xml에서 IOC , DI , DL에 대한 설정. -> spring contaier에 적용됨.
<context : component-scan base-package="org.kosta"> 한줄이면 된다.
----> 기존의 xml에서 관리하는 객체 생성 권한을 annotation으로 할 수 있도록 해준다.
위 설정은 org.kosta 팩키지 및 하위 팩키지의 component 계열 어노테이션 명시된 클래스를 탐색해서 bean (객체) 생성하고
DI계열 어노테이션 명시된 대상에 대해 DI 처리한다.
만약 별도의 모듈이 있다면 , 로 추가 명시해준다. <context : component-scan base-package="org.kosta, aop.common">
'Web programming > Spring' 카테고리의 다른 글
MyBatis Framework (1) | 2021.06.19 |
---|---|
spring framework 용어 정리 (0) | 2021.06.07 |
Settings (0) | 2021.06.01 |
Logging (0) | 2021.05.29 |
IOC / DI (1) | 2021.05.17 |