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

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

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

服務器之家 - 編程語言 - Java教程 - 使用BeanFactory實現創建對象

使用BeanFactory實現創建對象

2021-05-28 11:15魔靈兒 Java教程

這篇文章主要為大家詳細介紹了使用BeanFactory實現創建對象,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了beanfactory實現創建對象的具體代碼,供大家參考,具體內容如下

說明:

 其作用是減少層與層之間的依賴。

實現步驟:

編寫2個類(student,teacher)再編寫beans.properties文件,接著編寫beanfactory類,最后編寫測試類beantest。

參考代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
 *beans.properties文件的內容(位于與src平級的config資源包下)
 */
student=com.xxx.generic.demo.student
teacher=com.xxx.generic.demo.teacher
 
/**
 *beanfactory類的參考代碼
 */
import java.io.inputstream;
import java.util.enumeration;
import java.util.hashmap;
import java.util.map;
import java.util.properties;
import java.util.set;
 
public class beanfactory {
 private beanfactory() {
 }
 
 private static map<string, string> beans = new hashmap<>();
 static {
 inputstream is = beanfactory.class.getclassloader().getresourceasstream("beans.properties");
 properties prop = new properties();
 try {
  prop.load(is);
  enumeration<string> keys = (enumeration<string>) prop.propertynames();
  while (keys.hasmoreelements()) {
  string key = keys.nextelement();
  string value = prop.getproperty(key);
  beans.put(key, value);
  }
 } catch (exception e) {
  e.printstacktrace();
 } finally {
  if (is != null) {
  try {
   is.close();
  } catch (exception e) {
   e.printstacktrace();
  }
  }
 }
 }
 
 public static <t> t getbean(class<t> clazz) {
 t t = null;
 string classname = clazz.getsimplename();
 set<string> keys = beans.keyset();
 for (string key : keys) {
  if (key.equals(classname)) {
  string value = beans.get(key);
  try {
   t = (t) class.forname(value).newinstance();
  } catch (exception e) {
   e.printstacktrace();
  }
  break;
  }
 }
 return t;
 }
}
 
/**
 *beantest類參考代碼
 */
public class beantest {
 public static void main(string[] args) {
 student s = beanfactory.getbean(student.class);
 system.out.println(s + ":我是" + s.getclass().getsimplename() + "的一個對象。");
 teacher t = beanfactory.getbean(teacher.class);
 system.out.println(t + ":我是" + t.getclass().getsimplename() + "的一個對象。");
 }
}

運行結果如下:

使用BeanFactory實現創建對象

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_41815326/article/details/81612291

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 二次元美女脱裤子让男人桶爽 | 国产好痛疼轻点好爽的视频 | 日韩精品一区二区三区老鸭窝 | 国产美女亚洲精品久久久综合91 | 三星w999| 亚洲国产成人综合 | 拔插拔插成人 | 无颜之月5集全免费看无删除 | 日韩精品亚洲一级在线观看 | 99热热99 | tube99大学生 | 国产精品免费久久久久影院小说 | 亚洲香蕉伊在人在线观看9 亚洲系列国产系列 | eee在线播放成人免费 | 男人吃奶动态图 | 天天干天天操天天碰 | meyd—447佐山爱在线 | 四虎影院在线免费观看视频 | 成人国产在线观看 | 四虎最新网址在线观看 | 新新电影理论中文字幕 | 国产成人影院在线观看 | 福利国模私拍视频在线观看 | 国产亚洲欧美日韩综合综合二区 | 日韩在线资源 | 四虎在线永久免费视频网站 | 91大神在线观看精品一区 | 99超级碰碰成人香蕉网 | 18young第一次 | 国产良心大作白丝精厕 | 99国产精品免费观看视频 | 亚洲精品第一国产综合高清 | 亚洲乱码一二三四区国产 | 亚洲国产精品热久久 | 精品一区二区三区免费观看 | 青青国产成人久久激情91麻豆 | 亚洲天堂网2018 | 9999视频| 美女露鸡鸡 | 美女的让男人桶爽免费看 | 国产免费视 |