티스토리 뷰
728x90
출처 : Get to Spring ApplicationContext from everywhere (The clean way)
Spring 컨터이너안의 Bean 객체를 어디에서든 얻어오는 Tip
ApplicationContextProvider 클래스
ApplicationContextProvider 클래스를 만들고, 이 클래스는 ApplicationContextAware 인터페이스를 구현합니다.
package com.iot.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class ApplicationContextProvider implements ApplicationContextAware { private static ApplicationContext ctx = null; public static ApplicationContext getApplicationContext() { return ctx; } public void setApplicationContext(ApplicationContext ctx) throws BeansException { this.ctx = ctx; } }
ApplicationContext 환경파일 추가
이 Bean을 ApplicationContext 구성 파일에 설정합니다.
<bean id="applicationContextProvider" class="com.iot.util.ApplicationContextProvider"></bean>
BeanUtils 클래스
사용하기 쉽게 유틸클래스를 만듭니다.
package com.iot.util; import org.springframework.context.ApplicationContext; public class BeanUtils { public static Object getBean(String beanId) { ApplicationContext applicationContext = ApplicationContextProvider.getApplicationContext(); if( applicationContext == null ) { throw new NullPointerException("Spring의 ApplicationContext초기화 안됨"); } /* String[] names = applicationContext.getBeanDefinitionNames(); for (int i=0; i<names.length; i++) { System.out.println(names[i]); } */ return applicationContext.getBean(beanId); } }
예
DepartmentsService service = (DepartmentsService) BeanUtils.getBean("departmentsService");
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 일본여행
- 지스타2007
- 송주경
- 레이싱모델 익스트림 포토 페스티벌
- koba2010
- ffmpeg
- Linux
- 튜닝쇼 2008
- Delphi Tip
- android
- ubuntu
- oracle
- sas2009
- JavaScript
- Java
- ble
- Delphi
- flex
- Mac
- SAS
- BPI-M4
- Xcode
- MySQL
- KOBA
- 서울오토살롱
- 전예희
- 동경
- NDK
- Spring
- Spring MVC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함