周四给小组简单介绍了一下Spring,讨论当中有几个关于Spring的问题,这里简单的总结一下:
1.IoC的概念。找女朋友的哪个例子不是很恰当,不是说告诉婚姻介绍所找个什么样的,它就能够找到符合你要求的ppmm。事实上,应该是你告诉它说我要的是什么样的女子,哪个叫ltt的就很好,然后哪个婚姻介绍所就可以把你要的哪个ltt给找过来。婚姻介绍所目前还不能做到这么智能。换句话说,就是Spring Container是根据我们在config中配置的Bean的依赖关系来将Bean注入到你的代码中,而不是配置interface:)
2.IoC好处。IoC不是关于程序构建的方法,而是组织程序和组件的方法。在具体构建一个组件或者J2EE框架中的一个分层的时候,可能并不会用到IoC。但是,在粘合各个分层的时候,为了提升组件的可重用性,我们会提炼出各个分层的接口,然后用IoC的方法将各个分层粘合起来。如果需要分层的不同实现的时候,只需要在配置文件中配置分层之间的依赖就可以,不需要改动源代码:),这对于粘合很多遗留系统来说应该是相当不错。
3.Spring不只是IoC。如果Spring只是提供了一个IoC的容器,那么也不会有这么强的应用。关键的事,Spring为方便J2EE开发做出了很多非常好的贡献,不如他提供的ORM封装,JDBC封装,DAO封装,我想,这才是简化大家开发工作的地方:)。光有一个IoC容器是不够的,就如同Eclipse如果只有底层的Platform Plugin SDK,但是没有很好的应用,没有做出JDT,也就不会有Eclipse现在的成功。因此,Spring成功不仅仅是因为IoC,而是他解决了J2EE的开发问题:)
4.BeanFactory类似于PluginManager,BeanDefinition类似于Plugin,Bean.xsd就是BeanDefinition的描述文件的Schema文件,规定了Bean是什么:)BeanFactory解析bean描述文件来管理Bean,因为Bean其实就是对象,那么,说白了就是管理对象以及对象之间的关系,包括对象生命周期的管理以及对象之间的依赖关系,继承关系等。具体就有对象的初始化问题,对象声明周期回掉点的问题,对象访问容器的问题,对象依赖关系的设置,依赖对象的初始化问题等等。
今天又看到xiaxin写的关于Spring的开发指南了,感觉短小精悍,真是不错,推荐一下,呵呵:)
1.IoC的概念。找女朋友的哪个例子不是很恰当,不是说告诉婚姻介绍所找个什么样的,它就能够找到符合你要求的ppmm。事实上,应该是你告诉它说我要的是什么样的女子,哪个叫ltt的就很好,然后哪个婚姻介绍所就可以把你要的哪个ltt给找过来。婚姻介绍所目前还不能做到这么智能。换句话说,就是Spring Container是根据我们在config中配置的Bean的依赖关系来将Bean注入到你的代码中,而不是配置interface:)
2.IoC好处。IoC不是关于程序构建的方法,而是组织程序和组件的方法。在具体构建一个组件或者J2EE框架中的一个分层的时候,可能并不会用到IoC。但是,在粘合各个分层的时候,为了提升组件的可重用性,我们会提炼出各个分层的接口,然后用IoC的方法将各个分层粘合起来。如果需要分层的不同实现的时候,只需要在配置文件中配置分层之间的依赖就可以,不需要改动源代码:),这对于粘合很多遗留系统来说应该是相当不错。
3.Spring不只是IoC。如果Spring只是提供了一个IoC的容器,那么也不会有这么强的应用。关键的事,Spring为方便J2EE开发做出了很多非常好的贡献,不如他提供的ORM封装,JDBC封装,DAO封装,我想,这才是简化大家开发工作的地方:)。光有一个IoC容器是不够的,就如同Eclipse如果只有底层的Platform Plugin SDK,但是没有很好的应用,没有做出JDT,也就不会有Eclipse现在的成功。因此,Spring成功不仅仅是因为IoC,而是他解决了J2EE的开发问题:)
4.BeanFactory类似于PluginManager,BeanDefinition类似于Plugin,Bean.xsd就是BeanDefinition的描述文件的Schema文件,规定了Bean是什么:)BeanFactory解析bean描述文件来管理Bean,因为Bean其实就是对象,那么,说白了就是管理对象以及对象之间的关系,包括对象生命周期的管理以及对象之间的依赖关系,继承关系等。具体就有对象的初始化问题,对象声明周期回掉点的问题,对象访问容器的问题,对象依赖关系的设置,依赖对象的初始化问题等等。
今天又看到xiaxin写的关于Spring的开发指南了,感觉短小精悍,真是不错,推荐一下,呵呵:)