美文网首页
Spring IoC 的实现原理

Spring IoC 的实现原理

作者: 52赫兹_Alice | 来源:发表于2020-01-21 14:28 被阅读0次
interface Fruit {
     public abstract void eat();
}
class Apple implements Fruit {
    public void eat(){
        System.out.println("Apple");
    }
}
class Orange implements Fruit {
    public void eat(){
        System.out.println("Orange");
    }
}
class Factory {
    public static Fruit getInstance(String ClassName) {
        Fruit f=null;
        try {
            f=(Fruit)Class.forName(ClassName).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return f;
    }
}
class Client {
    public static void main(String[] a) {
        Fruit f=Factory.getInstance("io.github.dunwu.spring.Orange");
        if(f!=null){
            f.eat();
        }
    }
}

Class.forName(className):传入className返回与给定的字符串名称相关联类或接口的Class类。
Java中工厂模式经常使用newInstance()方法来创建对象。Class.forName("").newInstance()返回的是对象
Spring 中的 IoC 的实现原理就是工厂模式加反射机制。
从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:
1这个类已经加载
2这个类已经连接了。

相关文章

网友评论

      本文标题:Spring IoC 的实现原理

      本文链接:https://www.haomeiwen.com/subject/ghjezctx.html