이건.. 아직 100% 이해했다고 할 수 없는 내용이라 다른분들의 정의를 한번 찾아 봤다.
그중 몇가지 이다.
from
http://bearcho.tistory.com/93
스테레오타입 어노테이션
클래스에 붙여서 해당 클래스가 컴포넌트 스캐닝의 대상이고, 스프링에 의해서 관리될 것임을 표시한다. 즉, <beans> XML 설정 파일에서 <bean>으로 선언한 것과 같은 효과를 낸다.
@Component
메타 어노테이션. 다른 모든 스프링 스테레오타입 어노테이션 및 커스텀 Qualifier 어노테이션의 부모 어노테이션.
@Service
상태없는 서비스 컴포넌트.
@Repository
저장소 컴포넌트(DAO 등).
@Aspect
@AspectJ의 어스펙트.
@Controller
Spring MVC 컨트롤러.
from
http://charmpa.egloos.com/2894427
@Component
기본 스테레오타입
이 애노테이션을 붙인 클래스는 스프링 빈이 된다.
빈의 기본 행위를 변경하지 않지만, 스피링 차기 버전에서 부가적인 의미를 부여할 것임
@Controller
스프링은 이 스테레오타입 붙은 클래스를 스프링 MVC 지원에서 컨트롤러로 사용한다.
@Repository
이 애노테이션을 가진 클래스는 저장소를 나타낸다.
(예를 들어, DAO 등)
자동 예외 변환을 해 줌
@Service
이 애노테이션은 애플리케이션에서 비즈니스 로직을 구현한 클래스에 붙인다.
빈의 기본 행위를 변경하지 않지만, 스피링 차기 버전에서 부가적인 의미를 부여할 것임
스프링 3.0
from
http://www.mungchung.com/xe/spring/21205
<context:component-scan class=".."/> (빈스캐너)을 통해서 자동으로 등록되는 빈을 만들려면
스테레오타입 어노테이션을 설정해주면 된다.
스테레오타입 어노테이션은 4가지가 있다.
@Component
특정 타입을 정하기 힘든 계층 분류일경우 이 어노테이션을 사용한다.
@Repository
데이터엑서스 계층 또는 리포지토리 클래스에 사용된다.
DataAccessException 자동변환과 같은 AOP의 적용 대상을 선정하기 위해서도 사용된다.
주로 DAO (Data Access Object)에서 사용됨
@Controller
프레젠테이션 계층의 MVC 컨트롤러에 사용된다.
@Service
서비스 계층의 클래스에서 사용
주로 BO(Business Object)에서 사용됨
백기선씨 옛날글...
그리고 주의 할 것!
@Component나 @Repository 애노테이션에 별도의 bean name을 지정하지 않았다면 bean의 이름을 사용하여 DI하기 위해 사용했었던 @Resource 애노테이션은 걷어내고 @Autowired로 바꿔주어야 합니다.
-------------
추가..
이유는 Resource 는 by Name 이고, Autowired 는 by Type 입니다... 기본적으로 말이죠~ .. 그냥 기본일때;
2015-02-25 Component 어뇨테이션의 뒤에("") 로 이름을 정의하고 Resource 어노테이션으로 빈 이름만 (type 명아닌 변수명) 적으면 wired 된다.
@Repository - for DAO beans - allows you to throw DataAccessException when the data source is not available.
@Service - for business beans - are fairly simple beans that have some default retention policies set up.
@Controller - for servlets - allows you to set up page request mappings, etc.
'IT > 스프링' 카테고리의 다른 글
spring boot CORS .. cross domain (0) | 2018.07.16 |
---|---|
intelliJ 에서 스프링 mvc 시작하기 (0) | 2012.03.27 |
Autowired / Resource 차이... !!!!! (0) | 2012.03.15 |
Bean .. 빈 객체 스캔하여 빈 등록 (0) | 2012.02.29 |
스프링이 객체를 생성하는 형태? (0) | 2012.02.22 |