Spring框架的Bean管理的配置文件方式

1. id属性和name属性的区别
    * id        -- Bean起个名字,在约束中采用ID的约束,唯一
        * 取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号  id:不能出现特殊字符

    * name      -- Bean起个名字,没有采用ID的约束(了解)现在不使用name了,因为struts1已经不使用了
        * 取值要求:name:出现特殊字符.如果<bean>没有id的话 , name可以当做id使用
        * Spring框架在整合Struts1的框架的时候,Struts1的框架的访问路径是以/开头的,例如:/bookAction

2. class属性          -- Bean对象的全路径
3. scope属性          -- scope属性代表Bean的作用范围
    * singleton         -- 单例(默认值)加载配置文件的时候,创建对象,只创建一个。很大程度上可以减少内存的开销。
    * prototype         -- 多例,在Spring框架整合Struts2框架的时候,Action类也需要交给Spring做管理,配置把Action类配置成多例!!每个人都来访问这个Action,所以需要将action设置成多例的。就如同每个人都去访问百度,访问的方法不同,显示给用户的信息也不同。
    * request           -- 应用在Web项目中,每次HTTP请求都会创建一个新的Bean
    * session           -- 应用在Web项目中,同一个HTTP Session 共享一个Bean  一个会话
    * globalsession     -- 应用在Web项目中,多服务器间的session。很多人去访问百度,百度为每个人保存一个session。百度下有很多产品,比如你现在正在访问百度文库,然后又去访问百度音乐,这时你不用去重新登录,因为两个产品之间共享了一个Session。
一般singleton与prototype使用的较多
4. Bean对象的创建和销毁的两个属性配置(了解)
    * 说明:Spring初始化bean或销毁bean时,有时需要作一些处理工作,因此spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法
    * init-method       -- 当bean被载入到容器的时候调用init-method属性指定的方法
    * destroy-method    -- 当bean从容器中删除的时候调用destroy-method属性指定的方法
        * 想查看destroy-method的效果,有如下条件
            * scope= singleton有效
            * web容器中会自动调用,但是main函数或测试用例需要手动调用(需要使用ClassPathXmlApplicationContext的close()方法)
原文地址:https://www.cnblogs.com/wyhluckdog/p/10126984.html