================== Spring工厂底层原理 ================== __________________________________________________________________ | | |__________________________________________________________________| |读取配置文件 v __________________________________________________________________ |ApplicationContext applicationContext = | | new ClassPathXmlApplicationContext("/applicationContext.xml");| |__________________________________________________________________| |构建id-class映射表 v __________________________________________________________________ | id | class | |---------------------------------|--------------------------------| | student | cn.tedu.hellospring.Student | | ... | ... | |_________________________________|________________________________| |利用反射创建Bean对象 v __________________________________________________________________ |public class Student { | | ... | |} | |__________________________________________________________________| |获取Bean对象 v __________________________________________________________________ |Student student = (Student) applicationContext.getBean("student");| |__________________________________________________________________| |使用Bean对象 v __________________________________________________________________ | ... | |__________________________________________________________________| Spring工厂在利用反射创建对象的过程中,会调用相应类的无参构造方法,即使该方法被声明为私有。 /src/main/java/cn/tedu/hellospring/Student.java: public class Student { /*public*/private Student() { System.out.println("Student.Student"); } } Student.Student cn.tedu.hellospring.Student@47eaca72