建立獲取Springbean物件工具類
需求: 建立一個工具類,可以根據beanId獲取spring的bean物件.
1.在web.xml配置監聽器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>
com.demo.utils.SpringBeanGetter
</listener-class>
</listener>
2.建立監聽器實現類,實現ServletContextListener
public class SpringBeanGetter implements ServletContextListener
{
public SpringBeanGetter()
{
}
public void contextDestroyed(ServletContextEvent arg0)
{
setContext(null);
}
public void contextInitialized(ServletContextEvent arg0)
{
setContext(arg0.getServletContext());
}
private static final void setContext(ServletContext context)
{
context = context;
}
public static final Object getBean(String beanId)
{
WebApplicationContext application;
for(application = WebApplicationContextUtils.getWebApplicationContext(context); application == null && errorCount < 5;)
try
{
Thread.currentThread();
Thread.sleep(3000L);
application = WebApplicationContextUtils.getWebApplicationContext(context);
logger.error(" \u672A\u627E\u5230applicationContext \u5BF9\u8C61");
errorCount++;
}
catch(InterruptedException e)
{
e.printStackTrace();
}
if(null != application)
return application.getBean(beanId);
else
return null;
}
private static ServletContext context = null;
private static final Logger logger = Logger.getLogger(com/huawei/ecommerce/common/base/utils/SpringBeanGetter);
private static int errorCount = 0;
}
相關文章
- 反射獲取注入到spring中的類物件的工具類反射Spring物件
- 如何建立和獲取正則物件?物件
- 用前面建立的函式獲取物件函式物件
- 通過反射獲取私有內部類物件反射物件
- Java反射獲取類和物件資訊全解析Java反射物件
- 物件獲取原型物件物件原型
- java獲取專案路徑工具類Java
- Java 中建立子類物件會建立父類物件麼?Java物件
- Oracle獲取資料庫中的物件建立語句Oracle資料庫物件
- Java service層獲取HttpServletRequest的工具類JavaHTTPServlet
- Spring boot 獲取yml檔案工具類Spring Boot
- 獲取行政區劃資訊(省、市)工具類
- 在spring中獲取代理物件代理的目標物件工具類Spring物件
- 類與物件的建立物件
- Java實現獲取本機Ip的工具類Java
- java 獲取物件大小Java物件
- java獲取url連線地址引數的工具類Java
- ORACLE不使用工具的情況下獲取物件DDLOracle物件
- 獲取Object物件的lengthObject物件
- Hyperf 獲取 Swoole\Server 的物件以及函式類的封裝Server物件函式封裝
- Swift通過類名建立物件Swift物件
- 物件建立模式和類建立模式的區別物件模式
- 封裝獲取Class類封裝
- Unity通過子物件獲取父物件例子Unity物件
- 反射--Class物件功能--獲取Method反射物件
- 根據聲音獲取物件物件
- javascript根據class獲取物件JavaScript物件
- 常見物件-Arrays工具類物件
- Java String類,字串常量池,建立方法,字串的獲取,擷取,轉換,分割。Java字串
- Java動態獲取某個介面下所有的實現類物件集合Java物件
- 獲取類屬性值,當前類,父類
- 通過字串動態建立類物件字串物件
- JavaScript 建立類/物件的幾種方式JavaScript物件
- PHP --反射 --獲取類的方法PHP反射
- JavaScript 通過class獲取元素物件JavaScript物件
- JavaScript獲取物件資料型別JavaScript物件資料型別
- javascript如何獲取事件目標物件JavaScript事件物件
- 如何使用jQuery獲取物件的尺寸jQuery物件