1. 程式人生 > >手動獲取spring的ApplicationContext和bean物件

手動獲取spring的ApplicationContext和bean物件

WEB專案:

方法1:

1ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc)

 方法2:

1ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)

 方法3:

1寫一個工具類類繼承ApplicationObjectSupport,並將這個加入到spring的容器

 方法4:

1寫一個工具類類繼承WebApplicationObjectSupport,並將這個加入到spring的容器

 方法5:(推薦)

1寫一個工具類實現ApplicationContextAware介面,並將這個加入到spring的容器

 示例:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import java.util.Map;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;
/*** 獲取ApplicationContext和Object的工具類* @author yzl**/@SuppressWarnings({ "rawtypes""unchecked" })public class SpringContextUtils implements ApplicationContextAware {private static ApplicationContext applicationContext;public void setApplicationContext(ApplicationContext arg0)throws BeansException {applicationContext = arg0;
}/*** 獲取applicationContext物件* @return*/public static ApplicationContext getApplicationContext(){return applicationContext;}/*** 根據bean的id來查詢物件* @param id* @return*/public static Object getBeanById(String id){return applicationContext.getBean(id);}/*** 根據bean的class來查詢物件* @param c* @return*/public static Object getBeanByClass(Class c){return applicationContext.getBean(c);}/*** 根據bean的class來查詢所有的物件(包括子類)

相關推薦

手動獲取spring的ApplicationContextbean物件

WEB專案:方法1:1ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc) 方法2:1ApplicationContext ac2 = WebApplica

普通java類中手動獲取spring管理的物件

1. 獲取ApplicationContext.xml中的bean BeanFactory factory = new ClassPathXmlApplicationContext("classpath:/applicationContext.xml"); TestService testSer

JsonObject轉換Bean物件Bean物件轉換JsonObject工具類(填坑後)

import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.ut

spring普通類獲取sessionrequest物件

在使用spring時,經常需要在普通類中獲取session、request物件。 比如一些AOP攔截器類,在有使用struts2時,因為struts2有一個介面使用org.apache.struts2.ServletActionContext即可很方便的取到session物件。用法: Ser

Spring IoC 容器 bean 物件

程式的耦合性: 耦合性(Coupling),又叫耦合度,是對模組間關聯程度的度量。耦合的強弱取決於模組間介面的複雜性、呼叫模組的方式以及通過介面傳送資料的多少。模組間的耦合度是指模組之間的依賴關係,包括控制關係、呼叫關 系、資料傳遞關係。模組間聯絡越多,其耦合性越強,同時表明其獨立性越差( 降低耦合性,可

手動獲取spring的ApplicationContextbean對象

text oftype except process red span containe class throws WEB項目: 方法1: ?1ApplicationContext ac1 = WebApplicationContextUtils.getRequiredW

如何在手動獲取spring中的bean(Spring ApplicationContextAware獲取上下文)

conf string str over 映射 div pre bean對象 nco 一、目的 寫了一個項目,多個module,然後想在A模塊中實現固定的config註入,當B模塊引用A時候,能夠直接填寫相對應的配置信息就行了。但是遇到一個問題,B引用A時候,A的配置信息總

過濾器練習:獲取指定目錄以及子目錄下的檔案(副檔名為.java):使用遞迴File物件過濾器!

package cn.itcast.day01_03; import java.io.File; import java.io.FileFilter; /* * 過濾器練習:獲取指定目錄以及子目錄下的檔案(副檔名為.java):使用遞迴和File物件過濾器! */ public cl

vue獲取當前點選物件的下標,當前點選物件的內容

<li v-for="(item,index) in tabList" v-on:click="addClass(index,$event)" >{{item.title}}</li> data裡面宣告: data() { return { ta

springboot整合filter之在filter中如何獲取spring容器中的bean物件

本人在專案使用的是springboot,具業務需要本人使用了filter過濾器,進行一個路徑攔截,本人配置的是攔截所有/*,然後對路徑中包含的特有欄位進行處理。 filter中需要使用service的bean物件,我使用@Autowired註解注入物件,然後啟動,訪問時報空

spring 根據beanName獲取bean物件,呼叫其方法

通用類 @Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationConte

spring容器啟動之我見(四、獲取容器獲取容器中的bean)

1.我們經常會發現在我們的service中有註解而在dao上沒有註解 看圖 因為我們在spring容器初始化bean的時候,是把service當做一個bean ,而dao並不是一個bean,這是個人理解,如果有錯誤,歡迎大家指出。 2. 那我們總結一下那些算是spri

Spring手動獲取指定Bean

起因 由於專案需要把一個專案的某個功能移植到另一個專案中,但是兩個專案結構不同,新寫的介面不是被Spring容器管理的,沒辦法在介面中使用@Autowired註解自動注入Serivice(Ps.我這裡說的介面是對外介面,不是Java中的interface,實際

手寫spring二:Java反射獲取物件資訊全解析

反射在這裡的作用就是知道全路徑 在框架啟動的時候把類例項化 然後設定到@service 和@Autowired裡面 所以要了解這東西怎麼用的 1. 什麼是類物件 類物件,就是用於描述這種類,都有什麼屬性,什麼方法的 2. 獲取類物件 獲取類物件有3種方式 (1). Class.f

spring中建立bean物件時多例單例的區別

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w

在過濾器filter中獲取spring管理bean物件例項

有時我們需要在過濾器中獲取自動注入的物件的例項,如果在filter中也通過自動注入的方式往往得到的結果是null,如果通過new一個物件的話,有時可能是我們想要的結果,有時我們只是想獲取spring上下文中唯一的一個例項,spring預設是單例項模式,這樣的話通過自動注入和n

Java反射獲取物件資訊全解析

反射可以解決在編譯時無法預知物件和類是屬於那個類的,要根據程式執行時的資訊才能知道該物件和類的資訊的問題。 在兩個人協作開發時,你只要知道對方的類名就可以進行初步的開發了。 獲取類物件 Class.forName(String clazzName)靜

JavaScript獲取物件屬性設定物件屬性總計

通過id、classname以及tagname,利用document的getElementById、getElementsByClassName、getElementsByTagName,我們可以獲取到文件樹中的任意元素節點物件。有了節點物件,我們可能會對其屬性

Spring 根據Bean註冊的名稱獲取Bean物件

package net.shopxx.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.c

框架類---spring---Filter中獲取Spring容器中的bean物件

@Override public void init(FilterConfig filterConfig) throws ServletException { //獲取w