▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

Spring의 어노테이션 정보 읽기

조회 수 5733 추천 수 0 2012.10.29 14:14:54

어노테이션을 이용해 컨테이너에 등록된 빈을 확인하는 방법이다.

 

졸립고 귀찮아서 자세한 설명은 안적는다.

 

package com.mungchung.test;

import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext-test.xml")
public class AnnotationList {

    @Autowired
    RequestMappingHandlerMapping handlerMapping;

    @Autowired
    ApplicationContext context;

    @Test
    public void testName1() throws Exception {
        System.out.println("========== @Controller List ==========");
        Map<RequestMappingInfo, HandlerMethod> handlers = handlerMapping.getHandlerMethods();
        for (RequestMappingInfo requestMappingInfo : handlers.keySet()) {
            HandlerMethod method = handlers.get(requestMappingInfo);
            for (String pattern : requestMappingInfo.getPatternsCondition().getPatterns()) {
                System.out.println("Class : " + method.getBeanType().getName());
                System.out.println("Method : " + method.getMethod().getName());
                System.out.println("URL : " + pattern);
            }
        }

        System.out.println("========== @Service List ==========");
        Map<String, Object> serviceBeans = context.getBeansWithAnnotation(Service.class);
        for (Map.Entry<String, Object> entryBean : serviceBeans.entrySet()) {
            String beanName = entryBean.getKey();
            Object beanObject = entryBean.getValue();

            System.out.println("Class : " + beanObject.getClass().getCanonicalName());
            System.out.println("Bean Name : " + beanName);
        }

        System.out.println("========== @Repository List ==========");
        Map<String, Object> reposBeans = context.getBeansWithAnnotation(Repository.class);
        for (Map.Entry<String, Object> entryBean : reposBeans.entrySet()) {
            String beanName = entryBean.getKey();
            Object beanObject = entryBean.getValue();

            System.out.println("Class : " + beanObject.getClass().getCanonicalName());
            System.out.println("Bean Name : " + beanName);
        }
    }
}

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 Spring 3.0 게시판 뭉충닷컴 2011-08-07 4497
25 Spring Controller의 메서드에 사용될수 있는 파라미터 종류 뭉충닷컴 2012-11-01 7236
24 Spring에서 requestURL 가져올때 URL을 /WEB-INF/views/.. 로 가져오는 이유 뭉충닷컴 2012-10-31 7397
» Spring의 어노테이션 정보 읽기 뭉충닷컴 2012-10-29 5733
22 Spring MVC 기본 흐름 file 뭉충닷컴 2012-10-23 6761
21 custom taglib 만들때 spring bean 사용하기 뭉충닷컴 2012-08-29 8696
20 STS에서 한글에 String literal is not properly closed by a double-quote 오류가 날 경우 file 뭉충닷컴 2012-07-03 4179
19 Spring @Transactional 어노테이션을 이용한 트랜잭션 예제 file 뭉충닷컴 2012-06-04 8290
18 Spring @Transactional 사용시 rollback이 안될 경우 뭉충닷컴 2012-06-03 13358
17 한글때문에 xml 파싱시 오류날 경우 (URI$MalformedURIException 오류) file 뭉충닷컴 2012-06-02 5348
16 maven에 ojdbc14 추가하기 뭉충닷컴 2012-06-01 5358
15 HandlerInterceptor 간단한 사용 예제 file 뭉충닷컴 2012-03-08 9013
14 Spring Template Project 이용시 maven 빌드를 제대로 못할경우 file [1] 뭉충닷컴 2012-03-07 6050
13 Spring에서 Quartz 이용하기 (스케줄이용방법) file [1] 뭉충닷컴 2012-03-06 13646
12 Spring AOP (Aspect Oriented Programming) 뭉충닷컴 2012-03-05 2694
11 Spring의 HandlerMapping 종류및 사용방법 file 뭉충닷컴 2012-03-04 5838
10 maven을 이용해 배포(Deploy) 대상에 따라서 환경설정(resources) 다르게 적용하기 file [1] 뭉충닷컴 2012-03-03 36078
9 일반 Spring 프로젝트를 Web 프로젝트로 변경하기 file 뭉충닷컴 2012-03-03 4584
8 URL과 Controller 간단하게 연결해주는 HandlerMapping 처리 방법 뭉충닷컴 2012-03-03 4643
7 Spring에서 Session을 이용한 로그인 처리 예제 file [12] 뭉충닷컴 2012-03-02 65051
6 뷰 컨트롤러에서 ModelAndView 개체를 직접 생성하는 방법 뭉충닷컴 2012-03-01 7056
5 Root Application Context와 Servlet Context file 뭉충닷컴 2012-02-29 10501
4 STS의 Spring Template Project를 이용한 간단한 Spring MVC 웹 프로젝트 file [15] 뭉충닷컴 2012-02-29 13857
3 스테레오타입 어노테이션을 이용한 자동 빈 등록 file 뭉충닷컴 2012-02-28 2714
2 Spring에서 Bean 등록 여러가지 방법 뭉충닷컴 2012-02-28 4705
1 component:context-scan으로 설정되어있는 Bean들 확인하는 방법 file 뭉충닷컴 2012-02-24 3048