創(chuàng)建Bean對象
創(chuàng)建一個(gè)Bean堪澎,使我們創(chuàng)建的IOC來進(jìn)行代理對象的創(chuàng)建卢肃。
public class User {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
創(chuàng)建配置文件
配置文件使用屬性文件作為配置文件纤控,利用Java自帶屬性進(jìn)行解析配置文件
user=com.outlook.sftjun.User
user.name=MyName
創(chuàng)建工廠類
使用工廠模式進(jìn)行Bean對象的生產(chǎn)畜隶,使用程序?qū)ο蟮膭?chuàng)建與使用充分解耦蒋譬。使用類的反射機(jī)制享钞,根據(jù)配置文件創(chuàng)建對象揍诽。
package com.outlook.sftjun;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
public class UserFactory {
public static User getUser() {
User user = null;
String clazzName = null;
Properties prop = new Properties();
InputStream in;
try {
in = new BufferedInputStream(new FileInputStream(
"/home/yinjun/wsp/java/Tst/src/bean.properties"));
prop.load(in);
clazzName = (String) prop.get("user");
user = (User) Class.forName(clazzName).newInstance();
String name = prop.getProperty("user.name");
user.setName(name);
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
}
驗(yàn)證
驗(yàn)證IOC是否成功創(chuàng)建了對象,全得我們的程序能夠解耦栗竖。
package com.outlook.sftjun;
public class App {
public static void main(String[] args) {
User user = UserFactory.getUser();
System.out.println(user.getName());
}
}