zoukankan      html  css  js  c++  java
  • Spring学习

    Spring学习第二天

    Spring通过有参构造获取对象

    1. 参数下标赋值

      <bean id="user" class="cn.kuang.pojo.User">   
      <constructor-arg index="0" value="zheng"/>    
      <constructor-arg index="1" value="13"/>
      
    2. 通过参数类型赋值(不推荐使用)

      <bean id="user" class="cn.kuang.pojo.User">    
      <constructor-arg type="java.lang.String" value="郑智超"/>    
      <constructor-arg type="int" value="32"/>
      
    3. 通过参数名来赋值

      <bean id="user" class="cn.kuang.pojo.User">    
      <constructor-arg name="name" value="詹青云" />   
      <constructor-arg name="age" value="29"/></bean>
      

    Spring的配置

    • id:bean 的唯一标识符,也就是相当于我们学的对象名;
    • class:bean 对象所对应的权限定类名:包名+类型;
    • name:也就是别名,而且那么 可以同时取多个别名;
    • import,一般用于团队开发使用,他可以将多个配置文件,导入合并为一个假如,现在项目中有多个人开发,单个人复制不荣的类开发,不同的类需要注册不荣的bean中,我们可以利用import将所有人的beans.xml合并为一个总的ApplicationContext。

    依赖注入

    • 构造器注入

    • set方式注入【重点】

      依赖注入:set注入!

      • 依赖: bean对象的创建依赖于容器
      • 注入: bean对象中的所有属性,由容器来注入
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd">
          <bean id="address" class="com.kuang.pojo.Address">
              <property name="address" value="绍兴"/>
          </bean>
          <bean id="student" class="com.kuang.pojo.Student">
              <!--第一种,普通值注入-->
              <property name="name" value="zheng"/>
              <!--第二种,引用值注入-->
              <property name="address" ref="address"/>
              <!--第三种,集合注入-->
              <property name="books">
                  <array>
                      <value>红楼梦</value>
                      <value>资治通鉴</value>
                      <value>三国</value>
                      <value>活着</value>
                  </array>
              </property>
              <!--第四种,List注入-->
              <property name="hobbies">
                  <list>
                      <value>听音乐</value>
                      <value>敲代码</value>
                  </list>
              </property>
              <!--第五种,map注入-->
              <property name="cards">
                  <map>
                      <entry value="身份证" key="303255555555"/>
                      <entry value="银行卡" key="248975723497332978"/>
                  </map>
              </property>
              <!--第六种,properties注入-->
              <property name="info">
                  <props>
                      <prop key="url">百度</prop>
                      <prop key="username">root</prop>
                      <prop key="password">234234</prop>
                  </props>
              </property>
              <!--第七种,set集合注入-->
              <property name="game">
                  <set>
                      <value>王者荣耀</value>
                      <value>天天象棋</value>
                  </set>
              </property>
              <!--第八种,null值注入-->
              <property name="wife" >
                  <value>null</value>
              </property>
          </bean>
      </beans>
      
    • 拓展方式注入

      我们可以使用p命名空间和c命名空间进行注入

      官方解释:

      注意事项:p命名和c命名空间不能直接使用,需要导入约束。

  • 相关阅读:
    nyoj 164&amp;&amp;poj2084 Game of Connections 【卡特兰】
    1、Cocos2dx 3.0游戏开发找小三之前言篇
    hibernate一级缓存,二级缓存和查询缓存
    WCF服务端调用client.
    优化中的subgradient方法
    Xsolla和Crytek合作,对游戏战争前线推出全新支付方式
    CNZZ站点流量统计原理简析
    分数加减法
    【jvm】windows下查看java进程下多线程的相关信息
    【面试 docker+k8s+jenkins】【第二十篇】docker+k8s+jenkins相关面试
  • 原文地址:https://www.cnblogs.com/tianxintang/p/13263653.html
Copyright © 2011-2022 走看看