bean标签
<!--使用bean标签-->
<!--Class是接口的实现类的全路径。id自取一个唯一的名称-->
<bean id="userService" class="cn.zst.test.UserServiceImpl"
id属性与name属性的区别
- id
- Bean起个名字,在约束中采用Id的约束,唯一。
- 取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句号、冒号 id:不能出现特殊字符
- name
- Bean 起个名字,没有采用ID的约束
- 取值要求:name可以出现特殊字符,如果bean标签中没有id的话,name可以当做id用。
- Spring框架在整合struts1的框架的时候,Struts1的框架的访问路径是以/开头的,例如:/bookAction
class属性,Bean对象(实现类)的全路径
scope属性
*singleton ——单例(默认值)
* prototype——多例,在Spring框架整合Struts2框架的时候,Action类也需要交给Spring做管理,需要把Action类配置成多例。
* request—–应用在Web项目中,每次Http请求都会创建一个新的Bean
* session—–应用在web项目中,同一个Http Session共享一个Bean
* globalsession—-应用在Web项目中,多服务器间的session。
Bean对象的创建和销毁的两个属性配置
- 说明:Spring初始化Bean或者销毁Bean时,有时需要作一些处理工作,因此Spring可以在创建和拆卸Bean的时候调用Bean的两个生命周期方法
- init-method——当bean被载入到容器的时候调用init-method属性指定的方法
- destory-method—-当bean从容器中删除的时候调用destory-method属性指定的方法
- 想查看destory-method的效果,有如下条件
- scope=singleton有效
- web容器中会自动调用,但是main函数或测试用例需要手动调用(需要使用ClassPathXmlApplicationContext的close()方法)