这里有两个类:
com.practice包下的SpringTest.java和PersonService.java。
Spring可以管理任意的POJO(这是啥?),并不要求Java类是一个标准的JavaBean(什么样的类叫JavaBean?)。
这个小例子说明的是不需要直接创建实例,只需要从Spring的容器中直接获取就好了,我想把这种叫做拿来主义。
而Spring容器为什么能提供实例呢?总不能空手套白狼吧,靠的就是它的配置文件,在本例中就是bean.xml了。
Spring容器根据配置文件的信息,负责创建Person实例,并为Person实例设置属性值,这种由Spring容器为对象设置属性值的方式就叫做控制反转(Inversion of Control,IOC)
其实吧,我觉得这个也不好,在这个例子中我并不需要这个类,而是需要知道这个人的名,谁(实例)告诉我,以什么方式(方法)告诉我都无所谓,只要我能知道它的名字,其他的我都不管。
这是我的一点点思考。
P.S.
没接触框架之前都知道java还能这么玩。C或者C++也有控制反转的概念么?