Spting--DI/IOC

DI/IOC  <bean>  表明由容器构建的对象(经过反射构建,且类必须有无参的构造方法)web

            公共属性  id=“惟一的id”  在容器中是惟一的session

                  name=“相似id属性”  能够同时指定多个使用逗号、分号、或空格分隔spa

                  若是不指id和name定就能够使用全类名获取prototype

                  class=“类的全路径”component

            注入方式  属性注入  <property name="属性名"></property>   value=“字面值”对象

                                               ref=“容器内对象的ID”继承

                        在<property>或<constructor-arg>内部能够设置内部bean。内部bean不须要设置id,只给当前属性或参数使用,外部不能使用  索引

                  构造器注入<constructor-arg>  inde“参数索引”作用域

                                  name=“参数名”get

                                  type=“参数数据类型”

                  工厂方法注入(不经常使用)

      集合  <util:集合类型>  添加util文件才能支持  (集合类型为list,set,map)

                  list和set有 id,value,ref 值

                  map有 id 和 entry(key,value,key-ref,value-ref)

    简化  p标签  p:属性名=“字面值”

              p:属性名-ref=“引用对象的id”

        自动装配  特色:两种方法不能同时使用,还会下降代码可读性

              autowire=“byType”  容器内对应数据类型的对象只能有一个

              autowire=“byName”  对象名和属性名要一致

    继承  特色:子bean能够继承和覆盖父bean的属性,父bean中自动装配的属性不能被继承

        parent=“父bean的id”

        abstract=“true”  只能在容器内被继承,不能被外部使用

    做用域  scope=“singleton”  默认的,在容器内建立一个实例,并共享。在建立容器时就进行对象的实例化

         scope=“prototype”  每次调用getBean()方法都会产生新的实例

         scope=“session”  在web项目对每一个会话产生新的实例

         scope=“request”  在web项目对每一个请求产生新的实例

    外部属性文件  定义:命名为*.porperties  通常放在src目录下,保存的是key=value的键值对,多个键值对用回车换行

            加载:导入context的标签订义 <context:property-placeholder location="classpath:外部属性文件名"/>

            使用:属性名=“${key}”

    注解  对classpath下的类进行扫描和检测,对具备特定注解的类进行实例,并进行装配

        启动扫描  <context:component-scan base-package="包名1,包名2"></context:component-scan>  扫描包及子包下的类

              resource-pattern=“过滤的类名”

        分类  @Component  基本组件

            @Reqository  持久化组件

            @Service  业务逻辑组件

            @Controller  控制其组建

        用法  把注解定义在类名前,能够用 (value-“组件名”) 指定组件名。若是不指定组件名,默认为首字母小写的类名

        自动装配  把注解放在属性前可实现自动装配

              @Auotwired  requried=false  不是必需的

              @Qualifier(“指定组建的id”)

本站公众号
   欢迎关注本站公众号,获取更多信息