- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Spring学习笔记
Spring学习笔记
关键字:spring
BeanFactory和ApplicationBeanFactory的分类
org.springframework.io.ByteArray 定义内容由一组字节给点的资源org.springframework.core.io.ClassPath 定义可从classpath提取的资源org.springframework.core.io.Descriptive 定义包含资源描述符但是实际没有可读
资源的资源(不懂)
org.springframework.core.io.FileSystemResourc定e义可从文件系统提取的资源
org.springframework.core.io.InputStreamResourc定e义从输入流提取的资源
中的资源
org.springframework.web.portlet.context.PorletContextResou定rc义e
可用在portlet上下文
文中的资源源
org.springframework.web.context.support.ServletContextResour定ce义可用在servlet上下org.springframework.core.ioUrlResource 定义可以用在URL提取的资
ApplicationContext
ClassPathXmlApplicationContext从类路径中的xml文件载入上下文定义的信息FileSystemXmlApplicationContext从文件系统中的XML 文件载入上下文定义的信息XmlWebApplicationContext 从Web 系统中的Xml文件载入的定义信息
ApplicationContext和BeanFactory的作用几乎相同。只是前者比后者多了3个功能1,提供了文本信息解析工具,包括国家化(I18N)的支持
2,提供了载入文件资源的通用方法,如载入图片
3,可以像想注册为见提起的Bean发送事件
由于刚学,所以觉得还没发觉前面两个有什么特别的用处。但是最后一个真是相当不错的方法。在书中说,只有在资源很少的情况下,例如移动设备上才考虑用BeanFactory,由此可见ApplicationContext资源不比Beanfactory多多少。所以估计才企业开发中,可以完全不用考虑。
Bean的生命周期
实例化
设置属性值
3)调用BeanNameAware 的setBeanName ()方法4)抵用BeanFactoryAware的setBeanFactory()方法
5)调用ApplicationContextAware的setApplicationContex方t法6)抵用BeanPostProcessor的预初始化方法
调用InitializingBean
调用InitializingBean的afterPropertiesSet方法
调用定制的初始化方法
调用BeanPostProcessor的后初始化方法
----Bean可以被使用了
调用DisposableBean的destroy犯法11)抵用定制的销毁方法。
以上是一个ApplicationContext中的bean的生命周期,BeanFactory只比其少了红色的这个方法。
书中没有对各个方法有什么特别的阐述,但是就其方法名来猜测,我觉得是为了让Spring管理Bean
(是指实例化Bean之后)而做的一些工作。
装配Bean
????
?
?
?
?
?
?
?
?
?
??
??
??
??
??
??
??
??
??
??
??
??
??
??
!--
构造函数注入
--
beanid=duke
class=geniusgame.PoeticJuggler
constructor-argvalue=15/
constructor-argref=sonnet29/
!--
这是注入一个自定义对象的方法除了常用对象和基本数据类型之外的其他对象的注入
--
/bean
beanid=sonnet29
class=geniusgame.Sonnet29/bean
!--
属性注入
--
beanid=kenny
class=geniusgame.Instrumentalistinit-method=begin
destroy-method=a
?? propertyname=songvalue=沧海一声笑/
?? propertyname=instrumentref=piano/
?? /be
文档评论(0)