您的位置:首页 > 编程语言 > Java开发

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

2015-07-13 14:57 288 查看

                                                     我的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作用域。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring