<-- bean的几种实例化对象的方法 -->
1.静态工厂实例化bean:
新建一个类,类中有一个返回新建对象的方法
<--此方法的返回类型是你要实例化的类(这样可以做到类和类之间的低耦合)
public static OrderDao getOrderDao(){
<--返回的是一个实例化后的对象(这里是使用了里氏替换原则)
return new OrderDaoImpl();
}
在配置文件中配置bean时;
注意:因为bean是穿哪个类就造哪个类的对象;但是我们通过静态工厂中的方法来实例化对象;所以我们要告诉bean是工厂中哪个方法来实例化类的。
2.构造方法实例化bean:
<=无参构造方法如果不存在,将抛出异常(BeanCreationException:bean创建异常)=>
在class属性中设置的类中写入要实例化的类的属性;然后再构造方法中写入对应的属性;(bean实例化类的时候默认是调用无参构造方法,底层是通过反射来实现的)
3.实例工厂实例化bean:
先创建一个实例工厂的bean,再创建出你要的对象的bean 再通过factory-method属性告诉它通过哪个方法创建对象,factoty-bean属性告诉它是哪个工厂bean。
4.实现接口(factoryBean接口):
此接口有泛型:你需要创建哪个对象就写入什么泛型。
重写方法 getObject(),getObjectType()。
前一个方法是代替实例化工厂中创建对象的方法,return new (对象)。
后面的方法return泛型的class字节码。



