一、Bean概念
Bean就是组件
二、Bean的属性
1.Singleton的使用 true表示共享一个实例,false表示每次用id或者name引用一次bean后都会产生新的bean实例。
2.在congfig.xml文件中可以利用name对一个bean进行多个别名的设置,别名之间用“,”分隔。
3.depends-on可以在初始该bean的时候提前初始化其指定的bean。
例如:depends-on = “text”,
Spring会提前强制初始化text,而不是在乎text是否是该bean的其中的属性
4.config.xml文件中null的配置注意事项。
对于一个bean中所有的属性,当想将其设置为null时,最好使用<null/>进行配置。
三、bean的生命周期
1.bean的定义
2.bean的初始化 定义init-method() 实现InitializingBean接口
3.bean的使用 BeanWrapper BeanWrapperImpl(Object obj);obj为需要得到的bean
XmlBeanFactory XmlBeanFactory(new ClassPathResource(“config.xml”))
ApplicationContext FileSystemXmlApplicationContext("config.xml")
4.bean销毁 定义destroy-method() 实现DisposableBean接口
四、用ref指定依赖的3中模式
范围
1、local 当前所处的xml文件内
2、bean 包括其他的xml文件在内
3、parent 包括父BeanFactory或者ApplicationContext中的Bean
bean可以用id和name去指定需要的bean,而local只能用id去指定,相对来说还是用bean更好
五、Bean的5种装配模式
bean的属性:autowire
1、 byName模式
2、 byType模式
3、 constructor模式
4、 autodelete模式
5、 no模式,不使用自动装配
对于大型应用,不鼓励是使用自动装配模式,降低了参考依赖的清晰度。
六、依赖检查的4种模式
1、simple模式
2、object模式
3、all模式
4、不进行依赖检查
七、集合注入
config.xml文件中list的配置
1.list
<property>
<list>
<value>**</value>
<value>**</value>
</list>
</property>
2.set
<property>
<set>
<value>**</value>
<value>**</value>
</set>
</property>
3.map
<property>
<map>
<entry><value>**</value></entry>
<entry><value>**</value></entry>
</map>
</property>
4.properties
<property>
<props>
<prop key="gf"></prop>
<prop key="gd"></prop>
</props>
</property>
八、管理bean的3种方法
1.BeanWrapper BeanWrapperImpl(Object obj);obj为需要得到的bean
2.XmlBeanFactory XmlBeanFactory(new ClassPathResource(“config.xml”))
3.ApplicationContext FileSystemXmlApplicationContext("config.xml")
九、Application的更加强大的功能
1.通过ApplicationContext对资源文件进行存取的3种路径方式:
虚拟路径
Resource resource = application.getResource("classpath:messages.properties");
实际路径
Resource resource = actx.getResource("file:F://myWorkSpace//myApp//WEB-INF//src//messages.properties");
相对路径
Resource resource = actx.getResource("WEB-INF//src//message");
2.事件传递
ApplicationContext的publishEvent()方法来通知ApplicationListener,ApplicationEvent的发生。
3.ApplicationContext的国际化支持
ApplicationContext.getMessage()方法就可以得到Messages.properties中文件的信息
常用的一个方法参数有(String code,Object[] obj, Local.xxx)
第一个参数代表需要显示messages.properties中的哪一条信息,第二个参数代表许放入信息中的参数,第三个代表设定的语言环境。
信息资源文件在config.xml文件中必须被定义bean:id=“messages”