创建Bean的三种方式
1、使用默认构造函数来创建。在spring的xml配置文件当中,配以id和class属性,且没有其他的属性和标签。如下图所示:
使用这种方法的要求在于类中必须有默认构造函数。
2、使用普通工厂类中的方法创建对象。也称为使用某个类中的方法创建对象,并存入spring容器。如下图所示(工厂名为全限定类名):
当用到某些存在于jar包中的工厂类时使用。
3、使用工厂类中的静态方法来创建对象,并存入spring容器中。
Bean的作用范围
bean标签中有scope属性,用于指定bean的作用范围。
取值:
singleton:单例的(默认值)
prototype:多例的
如下面的代码
单例时仅仅创建一个对象,而多例时创建两个对象。
request:作用于web应用的请求范围。
session:作用于web应用的会话范围。
globalsession:作用于集群环境中的会话范围(全局会话范围,当不是集群环境中它就是session)。
上图中,需要保证比较验证码时即使验证码存在于另一台服务器当中时,验证依然能够通过。
Bean对象的生命周期
1、单例对象
出生:容器创建对象时出生
存活:只要容器在就一直在
死亡:容器销毁时死亡
2、多例对象
出生:当我们使用对象时spring框架为我们创建
存活:只要对象在就一直在
死亡:java垃圾回收器回收对象时死亡