一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring實現Aware接口自定義獲取bean的兩種方式

Spring實現Aware接口自定義獲取bean的兩種方式

2021-01-08 11:45麻瓜_ Java教程

這篇文章主要介紹了Java編程實現Aware接口自定義獲取bean的兩種方式,通過BeanFactoryAware和ApplicationContextAware,具有一定參考價值,需要的朋友可以了解下。

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

?
1
2
3
4
5
6
7
8
9
10
11
@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接口,代碼也很簡單:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
@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);
  }

總結

以上就是小編分享給大家的Java編程實現Aware接口自定義獲取bean的兩種方式的全部內容,希望對大家有所幫助。如果有什么問題,可以留言,小編會及時回復大家。感謝大家對本站的支持!

原文鏈接:http://www.cnblogs.com/handsomeye/p/6277510.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91成人免费观看 | 免费a视频在线观看 | 青青青久久久 | tobu8中国在线观看免费视频 | 青青草99热这里都是精品 | 日本人泡妞xxxxxx69 | 四虎影在线永久免费观看 | 草综合| 青青青在线视频播放 | 美女福利视频一区二区 | 亚洲国产自拍在线 | 亚洲男人的天堂在线 | 91亚洲精品国产自在现线 | 人与动人物人a级特片 | 亚洲精品第五页 | 亚洲精品成人A8198A片漫画 | 91久久偷偷做嫩草影院免费 | hd性欧美俱乐部中文 | 暗卫调教女主肉高h | 高清毛片aaaaaaaaa片 | 91视频综合网| 美女胸又大又黄又www小说 | 四缺一小说 | 精品一区二区免费视频蜜桃网 | 国产拍拍视频一二三四区 | 美女露全身永久免费网站 | 色在线免费 | 日本高清在线播放一区二区三区 | 无码人妻丰满熟妇啪啪网不卡 | 日本xxx片免费高清在线 | 波多野结衣178部中文字幕 | 国内精品视频免费观看 | 甜宠巨肉h文1v1校园 | 男人含玉势出嫁束器 | 亚洲小视频网站 | 国产精品亚洲精品观看不卡 | 无码中文字幕热热久久 | 国产精品免费久久久久影院 | 亚洲精品国产在线观看 | 韩国一级淫片特黄特刺激 | 黑人好大 |