티스토리 뷰
1 어노테이션 기반 설정 - 1 . @Required
@Required 어노테이션은 필수 프로퍼티를 명시 할때 사용된다. 필수 프로퍼티를 지정하려면 먼저 프로퍼티 설정 메서드에 @Requierd 어노테이션을 붙여야한다.
위 코드에서 @Required 어노테이션을 추가해도, 스프링은 해당 프로퍼티를 필수 프로퍼티로 인식하지 않는다. 스프링 설정파일에 @Required를 인식하고 필수프로퍼티로 지정할 수 있는 클래스를 빈 객체로 등록해야 비로서 스프링이 @Required 어노테이션을 알맞게 처리할 수 있게 된다.
RequiredAnnotationBeanPostProcessor 클래스는 스프링 컨테이너에 등록된 빈 객체를 조사하여 @Required 어노테이션이 적용된 프로퍼티의 값이 설정되어있는지 여부를 검사한다. 만약 @Required 어노테이션이 적용된 프로퍼티가 값이 설정되어 있지 않다면 예외를 발생한다.
RequiredAnnotationBeanPostProcessor 클래스를 빈으로 등록하지 않고 @Required 어노테이션을 인식하기 위하여 위와 같은 <context:annotation-config> 설정을 추가하여도 동일한 처리를 할 수 있게 하며 위의 설정의 추가로 어노테이션 관련하여 다음의 BeanPostProcessor를 함께 등록하여 어노테이션을 인식하게 된다.
2 <context:annotation-config>태그로 등록되는 BeanPostProcessor
- RequiredAnnotationBeanPostProcessor : @Required 어노테이션 처리
- AutowiredAnnotationBeanPostProcessor : @Autowired 어노테이션 처리
- CommonAnnotationBeanPostProcessor : @Resource, @PostConstruct,@PreDestroy 어노테이션 처리
- ConfigurationClassBeanPostProcessor : @Configuration 어노테이션 처리
위의 어노테이션을 같이 처리해주기 때문에 <context:annotation-config>를 사용하면 설정파일은 단순하게 만들수 있다.
'Spring > Spring MVC' 카테고리의 다른 글
Spring MVC 어노테이션 기반 설정 - 3 . @Resource (0) | 2014.04.16 |
---|---|
Spring MVC 어노테이션 기반 설정 - 2 . @Autowired (0) | 2014.04.09 |
Spring MVC 컨테이너 간 계층 (0) | 2014.03.28 |
Spring MVC 외부설정 프로퍼티 (0) | 2014.03.21 |
Spring MVC Bean의 라이프 사이클 (0) | 2014.03.12 |
- Total
- Today
- Yesterday
- mybatis common resultmap
- 마이바티스 공통 resultmap
- extjs
- mysql convert
- extjs 6 테마
- maven 로컬저장소
- local repository
- sencha touch icons
- mysql 한글깨짐
- 제이보스 스프링4
- 시간차이구하기
- with admin option
- spring autowired
- jboss spring4
- extjs 6 theme
- Spring
- tiles vs sitemesh
- 스프링 autowired
- extjs6
- sencha touch icons list
- spring container
- 스프링
- 로컬저장소
- mybatis resultmap
- with grant option
- extjs grid crud
- 스프링 컨테이너
- tiles sitemesh
- custom mapping
- 마이바티스 resultmp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |