스프링 설정 파일에서 아래와 같이 객체를 생성할수 있다.
<bean id="senderProcess" class="anno2_auto.SenderProcess"/>
<bean id="sender" class="anno2_auto.Sender"/>
하지만 위와 같은 방법 보다는 아래와 같이 자바에서 어노테이션을 사용하기도 하며 더 편하다. 실무에서도 더 많이 사용되는 방법이다.
:
@Service()
public class SenderProcess {
:
@Service 대신 @Component 어노테이션을 사용해도 되지만 가독성을 위해서(무슨 행위를 위한 클래스인지 구별하기 위해서) @Service나 @Repository 어노테이션을 사용해줌
물론 @Component 어노테이션을 사용해도 상관없다.
이렇게 생성하게 되면 궁금해지는 점이 하나있다.
설정파일에서 직접 명시해 줬던 id가 어노테이션을 사용하면 어떻게 설정되는가? 이다.
직접 설정하기 위해서 @Service() 의 괄호안에 직접 명시해주는 방법이 있다.
예를 들어
@Service("service")
라면
id가 service가 된다.
id 설정의 또다른 방법은 스프링에게 맡기는 방법이다.
@service() 같이 사용해서 괄호안에 id를 명시하지 않았다면 스프링이 알아서 id를 만들어주는데 그 규칙은 다음과 같다.
class 이름의 첫글자를 소문자로 한 class이름을 id로 사용한다.
예를 들어 아래와 같이
@Service()
public class TestClass{
}
라면 id는 testClass가 된다.
해당 객체를 사용하고자 한다면 testClass로 사용하면 된다.
다른 클래스에서 해당 클래스의 객체를 사용하고자 한다면
@Resource(name="testClass")
TestClass testClass;
라고 하면 스프링이 알아서 property injection을 해줄 것이다.
'spring > Annotation' 카테고리의 다른 글
@Value, Spring EL (0) | 2014.05.07 |
---|---|
@Resource (0) | 2014.05.02 |
어노 테이션을 사용하기 위한 설정 (0) | 2014.05.02 |
@Autowired (2) | 2014.05.02 |
@Required (0) | 2014.05.02 |