Please Enable JavaScript!
Gon[ Enable JavaScript ]

set Inject 없이 컨테이너에 있는 빈객체를 가져와서 사용하는 방법

자바(JAVA)
반응형
xml 에 설정되어있는 빈객체는 모두 컨테이너에 올려지는데 우리는 이것을 동적으로 가져와서
사용할수가 있다. 그중에 MessageSourceAccessor 객체를 얻어와서 properties 파일내에 설정된
환경설정 정보를 얻어와 보겠다.

xml 설정되어있는 부분

<!-- Properties 파일 참조 -->

<bean id="messageSource"

      class="org.springframework.context.support.
             ReloadableResourceBundleMessageSource"
>

   <property name="basenames">

       <list>

           <value>/WEB-INF/config/properties/DBQuery_Community</value>

       </list>

   </property>

   <property name="cacheSeconds" value="5" />

</bean>

control 페이지 소스

public ModelAndView getBean(HttpServletRequest request,
                    HttpServletResponse 
response) throws Exception {

String url = "/front/board/list";

ModelAndView mav = new ModelAndView(url);

/** 컨테이너에서 빈을 MessageSourceAccessor 빈을 가져와 Properties 정보를 얻어온다 */

WebApplicationContext ctx =

       (WebApplicationContext)getServletContext().getAttribute(

          WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

MessageSourceAccessor messageResource =

       (MessageSourceAccessor)ctx.getBean("messageSource");

       String emailAddr = messageResource.getMessage("env.system.admin.email");

       return mav;

}

반응형
Posted by 녹두장군1
,