1.因为spring框架是事先就写好的框架不能改变,它内部的处理并不知道用户要写哪些类,那是以后由使用它的人来定的,
比如你可能写了person类或者student类甚至不写这些类。那它就没办法提前帮忙new对象。没办法提前帮忙new对象又不能去spring框架内部修改spring代码,所以就不能采用new对象的方式。
2.另外这也和springioc容器的思想有关,即尽可能的降低代码的耦合度,如果spring框架允许修改,一旦新建一个类想在工厂类中帮忙new对象,,那么工厂类的代码也会随着新建的类变的很多,并且耦合度会很高,因为新建一个类必须马上在工厂类中添加new对象的代码。