记录我的Spring学习过程,大神勿看

来源:互联网 发布:淘宝客服几点下班 编辑:程序博客网 时间:2024/04/28 22:08

                                                     我的spring入门学习

1.  Spring 基础知识:   A.  使用BeanFactory来管理Bean。   

                                     B.使用ApplicationContext的3个接口来创建ApplicationContext容器。   



2. 依赖注入: 依赖注入有三个类型,Spring支持后两种。             A.   借口注入(Spring不支持)       B.setter注入                                       C.构造器注入。

                                 B.setter注入:      使用在配置文件中的<Property>元素来为JavaBean的setter()传递参数。


例如:         <bean name="user" class="com.user">

                   <proprety name="name">

                                <value>小强</value>

                   </proprety>



                              C.构造器注入: 就是通<constructor-arg>来实现构造方法传参。注意:在使用这个办法的时候应该注意赋值的顺序和参数类型。可以通过index和type属性来解决这个问题。

例如:            <bean name="user" class="com.user">

                       <constructor-arg>

                       <value>小强</value>

                       </construct-arg>

                       <constructor-arg>

                       <value>学生</value>

                       </construct-arg>


    




注意: 在Spring中可以通过<ref>元素来引用其他javaBean实例对象。





3.在完成spring的自动装载时,使用sutowire来实现,其中语法结构为: <bean autowire="byName"  id=" " class=" ">

注意其中autoWire的类型不同,其自动装载的方式也不同。

类型                        说明

  •  no                       不使用自动装配,必须通过ref元素指定依赖,默认设置。   
  • byName                    根据属性名自动装配。此选项将检查容器并根据名字查找与                   
  •                           属性完全一致的bean,并将其与属性自动装配。   
  • byType                    如果容器中存在一个与指定属性类型相同的bean,那么将与   
  •                           该属性自动装配;如果存在多个该类型bean,那么抛出异   
  •                           常,并指出不能使用byType方式进行自动装配;如果没有找   
  •                           到相匹配的bean,则什么事都不发生,也可以通过设置   
  •                           dependency-check="objects"让Spring抛出异常。   
  • constructor               与byType方式类似,不同之处在于它应用于构造器参数。如   
  •                           果容器中没有找到与构造器参数类型一致的bean,那么抛出   
  •                           异常。   
  • autodetect                通过bean类的自省机制(introspection)来决定是使用   
  •                           constructor还是byType方式进行自动装配。如果发现默认的   
  •                           构造器,那么将使用byType方式。

  • 4.     JavaBean的作用域:


      singleton:当一个bean的作用域为singleton, 那么Spring IoC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。

    注意:Singleton作用域是Spring中的缺省作用域。要在XML中将bean定义成singleton,可以这样配置: 

    <bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" scope="singleton">

     prototype一个bean定义对应多个对象实例。Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。根据经验,对有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域。


    0 0
    原创粉丝点击