创建Bean对象
创建一个Bean,使我们创建的IOC来进行代理对象的创建。
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;
}
}
创建配置文件
配置文件使用属性文件作为配置文件,利用Java自带属性进行解析配置文件
user=com.outlook.sftjun.User
user.name=MyName
创建工厂类
使用工厂模式进行Bean对象的生产,使用程序对象的创建与使用充分解耦。使用类的反射机制,根据配置文件创建对象。
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;
}
}
验证
验证IOC是否成功创建了对象,全得我们的程序能够解耦。
package com.outlook.sftjun;
public class App {
public static void main(String[] args) {
User user = UserFactory.getUser();
System.out.println(user.getName());
}
}