中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring中的bean怎么利用Aware接口獲取

發布時間:2020-12-05 16:27:42 來源:億速云 閱讀:265 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Spring中的bean怎么利用Aware接口獲取,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在使用spring編程時,常常會遇到想根據bean的名稱來獲取相應的bean對象,這時候,就可以通過實現BeanFactoryAware來滿足需求,代碼很簡單:

@Servicepublic class BeanFactoryHelper implements BeanFactoryAware {
  private static BeanFactory beanFactory;
  @Override
  public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
    this.beanFactory = beanFactory;
  }
  public static Object getBean(String beanName){
     if(beanFactory == null){
      throw new NullPointerException("BeanFactory is null!");
    }
     return beanFactory.getBean(beanName);   } }

還有一種方式是實現ApplicationContextAware接口,代碼也很簡單:

@Service
public class ApplicationContextHelper implements ApplicationContextAware {
  private static ApplicationContext applicationContext;
  @Override
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    this.applicationContext = applicationContext;
  }
  public static Object getBean(String beanName){
    if(applicationContext == null){
      throw new NullPointerException("ApplicationContext is null!");
    }
    return applicationContext.getBean(beanName);
  }
}

上面兩種方法,只有容器啟動的時候,才會把 BeanFactoryApplicationContext 注入到自定義的helper類中,如果在本地junit測試的時候,如果需要根據bean的名稱獲取bean對象,則可以通過ClassPathXmlApplicationContext來獲取一個ApplicationContext,代碼如下:

@Test
  public void test() throws SQLException {
    //通過從classpath中加載spring-mybatis.xml實現bean的獲取
    ApplicationContext context = new ClassPathXmlApplicationContext("spring-mybatis.xml");
    IUserService userService = (IUserService) context.getBean("userService");
    User user = new User();
    user.setName("test");
    user.setAge(20);
    userService.addUser(user);
  }

上述就是小編為大家分享的Spring中的bean怎么利用Aware接口獲取了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽源市| 井研县| 麻江县| 石首市| 遂宁市| 韶关市| 卫辉市| 宜川县| 黔西县| 莆田市| 襄汾县| 惠水县| 阳城县| 新野县| 凭祥市| 普洱| 南皮县| 肇源县| 马尔康县| 平度市| 南江县| 汾阳市| 伊宁县| 辽阳县| 全椒县| 梨树县| 二连浩特市| 景洪市| 张家界市| 长沙县| 荣成市| 原阳县| 新泰市| 永济市| 易门县| 克东县| 格尔木市| 文昌市| 禄劝| 泰安市| 桑日县|