package kr.wisestone.owl.util; import kr.wisestone.owl.config.ApplicationContextProvider; import org.springframework.context.ApplicationContext; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.support.WebApplicationContextUtils; public class ApplicationContextUtil { public static ApplicationContext getApplicationContext() { ApplicationContext applicationContext = null; ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (requestAttributes == null) { return ApplicationContextProvider.getContext(); } applicationContext = WebApplicationContextUtils.getWebApplicationContext(requestAttributes .getRequest().getServletContext()); return applicationContext; } public static T getBean(Class clazz) { ApplicationContext ac = getApplicationContext(); if (ac == null) { return null; } return ac.getBean(clazz); } /** * 이름을 이용해 빈을 찾는다. 없으면 null을 반환한다. * * @param name * @param clazz * @return */ public static T getBean(String name, Class clazz) { ApplicationContext ac = getApplicationContext(); if (ac == null) { return null; } return ac.getBean(name, clazz); } }