Java IOC 实现对象初始化

创建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());
    }

}

你可能感兴趣的:(Java IOC 实现对象初始化)