码迷,mamicode.com
首页 > 编程语言 > 详细

Spring框架二

时间:2015-06-06 11:49:03      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

Bean管理

   1、BeanFactory介绍:Spring容器,也称为Spring的上下文,是产生Bean的工厂,是Spring依赖注入的核心。

         Bean:在Spring应用场景中,Bean可以使数据源,java普通类,还可以是hibernate框架的sessionFactory、事务组件等等

        1、在Spring技术中是基于组件的。

        2、最基本也是最常见的单元。

        3、其实例保存在Spring容器当中

   2、BeanFactory的作用:

            1、配置、创建以及管理Bean对象

            2、维持Bean对象之间的依赖关系。

            3、负责Bean对象的生命周期。

   3、ApplicationContext实现类:

            1、读取Bean定义文件。

            2、维护Bean之间的依赖关系。 

            3、国际化的支持。

            4、资源访问、事件传播

   4、Bean定义

        1、配置文件:

            1、<beans/>是Spring配置文件的根节点。

            2、一个<beans/>节点里面可以有多个<bean/>节点

        2、定义<bean/>节点:通常指定2个属性:id用来指定bean的唯一标识符,class用来指明bean的具体实现类。

        3、Bean在Spring容器中的两种行为:

            singleton:整个Spring容器只有一个共享实例存在,也就是单例;

            non-singleton:非单例,每次请求该Bean,Spring容器都会新建立一个Bean实例。

   5、创建Bean:

        1、Bean的命名:使用清晰的,描述性的,一致性的命名规范。查找顺序id--name---类名

        2、Bean的别名:通过alias元素指定 如<alias name="fromname" alias="alisaname" />

        3、生命一个简单Bean:创建xml文件---写入配置信息---生成Bean类---加入Bean到配置文件。

        4、注入属性:

            a、注入基本类型和String类型:使用<value>元素,XML解析器以String类型解析出来,再通过propertyEditots转换类型。

            b、注入Bean:<ref/>元素进行标识,ref元素的来个属性Bean:表示来自不同xml的bean,local:表示来自相同xml的bean。

                     c、注入集合类型属性:(1)List属性:<list>标签中间可以使用<value>、<ref>等标签注入集合元素,甚至是另外一个<list>标签。

                                (2)例<list><value>1</value><value>2</value>.....</list>

                      (3)set属性:<set>标签,用法与<list>

                      (4)Map属性:<map>标签,如果Map中的键或者值是Bean对象,可以把<value>换成<ref>

                      例:<map> <entry><key><value>键</value></key> <value>值</value></entry></map>

                      (5)properties类型属性:使用<props>标签,其键和值通常为字符串类型

                      例:<props> <prop key="keyname">值</prop>....</props>

                      (6)注入空值:<value></value>,注入NULL值<null/>

        5、Bean元素的作用域:使用scope属性指定:

               1、singleton:默认值,单例

               2、prototype:非单例。

               3、request:用于WEB应用环境,针对每次HTTP请求都会创建一个新的Bean实例。

               4、session:用于WEB应用环境,针对每次会话都会创建一个新的Bean实例。

               5、global session:尽在porlet的web应用中使用,全局会话创建一个实例。

        6、简化Spring loc配置

               1、使用p命名空间注入Bean属性:必须先添加命名空间的声明

<beans>
<!-- 添加p命名空间的声明 -->
    xmlns:p="http://www.springframework.org/schema/p"
<!-- 使用p命名空间注入Bean的属性 -->
    <bean id="name" class="spring.HelloSpring"
    p:name="林冲" 
    />
</benas>

                                          2、在Spring配置文件中实现自动装配:<bean>元素的autowire提供了一种自动注入依赖对象的机制,配置Bean时不需要做任何显示指定,Spring会自动查找符合条件的依赖对象并实施注入。

              例:no:默认值,不自动装载。 byName:根据属性名自动匹配。 byType:根据属性的类型自动匹配。 constructor:根据构造方法自动匹配。

<!-- 使用自动装载注入依赖对象,在spring.HelloSpring中的属性名,自动查找配置的Bean进行注入-->
    <bean id="name" class="spring.HelloSpring" autowire="byName" />

                                              

Spring框架二

标签:

原文地址:http://www.cnblogs.com/hjiongjiong/p/4556339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!