Spring的工厂类
ApplicationContext继承BeanFactory。
BeanFactory :老版本的工厂类
BeanFactory:调用getBean的时候,才会生成类的实例。
ApplicationContext :新版本的工厂类
ApplicationContext:加载配置文件的时候,就会将Spring管理的类都实例化。
ApplicationContext有两个实现类
ClassPathXmlApplicationContext :加载类路径下的配置文件
FileSystemXmlApplicationContext :加载文件系统下的配置文件
Spring的配置
XML的提示配置
Schema的配置
Bean的相关的配置
<bean>标签的id和name的配置
id :使用了约束中的唯一约束。里面不能出现特殊字符的。
name :没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。
里面可以出现特殊字符。
Spring和Struts1框架整合的时候
<bean name=”/user” class=””/>
Bean的生命周期的配置(了解)
init-method :Bean被初始化的时候执行的方法
destroy-method :Bean被销毁的时候执行的方法(Bean是单例创建,工厂关闭)
Bean的作用范围的配置(重点)
scope :Bean的作用范围
singleton :默认的,Spring会采用单例模式创建这个对象。
prototype :多例模式。(Struts2和Spring整合一定会用到)
request :应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。
session :应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。
globalsession :应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相对于 session。(这个环境指:一个网站有许多子网,都可以进行免密登录)
常用singleton和prototype
当配置prototype 的时候,关闭ClassPathXmlApplicationContext对象的时候,如果配置了destroy-method,此时spring会不知道要执行哪个的destroy-method