name & id 属性
name
和id
的功能类似,作用如图:
从语法上说name
属性可以不唯一,而id
必须唯一,但是实际使用时name
标签和id
标签通常都标识唯一值,而且优先使用name。教程中说,id
的值不能使用特殊字符,但是我在Spring4.2中测试的时候发现却是可以的,所以为了避免麻烦,使用Java SE的变量命名规则。而在后面的博文中id
和name
会混合使用,因为我像测试一下他俩有没有其他的注意事项。但是项目中统一使用id
。
初始化时执行的方法 & 销毁的时候执行的方法
init-method=""
:指定的方法在bean
被创建时执行。destroy-method=""
:指定的方法在bean
被销毁时创建的,但要求bean
是单例的且手动关闭工厂。
bean的作用域
bean
标签有一个属性scope=""
,可以设置bean的作用范围,五种值如下:
singleton
:默认的,Spring会采用单例模式创建这个对象。prototype
:多例模式。request
:应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。session
:应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。globalsession
:应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相当于session。