//创建容器,索要对象,

package cn.lijun.Test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.lijun.domain.Qiang;
import cn.lijun.domain.User;

public class TestDemo {
//    @Test
//    
//    public void fun1(){
//        //1创建容器对象
//        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//       //2 向容器要对象
//        User bean = (User)ac.getBean("user");
//        System.out.println(bean);
//    
//    }
//    @Test
//    public void fun2(){
//        //1创建容器对象
//        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//       //2 向容器要对象
//        User bean = (User)ac.getBean("user1");
//        System.out.println(bean);
//    
//    }
//    @Test
//    public void fun3(){
//        //1创建容器对象
//        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//       //2 向容器要对象
//        User bean = (User)ac.getBean("user2");
//        System.out.println(bean);
//    
//    }
//    @Test
//    public void fun3(){
//        //1创建容器对象
//        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//       //2 向容器要对象
//        User bean = (User)ac.getBean("user3");
//        System.out.println(bean);
//    
//    }
    @Test
    public void fun4(){
        //1创建容器对象
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
       //2 向容器要对象
        Qiang bean = (Qiang)ac.getBean("qi");
        System.out.println(bean);
    
    }
}

//存储属性的集中方法

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 
  http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
   <!-- 1 set注入方式 -->
    <bean name="user" class="cn.lijun.domain.User">
        <property name="name" value="qiang"></property>
        <property name="age" value="18"></property>
        <!-- 为引用类型注入 为car 注入 属性 -->
        <property name="car" ref="car"></property>
        
        
    </bean>
    <!-- 将car对象配置到容器中 -->
    <bean name="car" class="cn.lijun.domain.Car">
        <property name="name" value="兰博基尼"></property>
        <property name="color" value="红色"></property>
    </bean>
    <!-- 2 构造函数注入 -->
    <bean name="user1" class="cn.lijun.domain.User">
        <constructor-arg name="name" value="sdfjkah"></constructor-arg>
        <constructor-arg name="age" type="java.lang.Integer" value="99"></constructor-arg>
        <constructor-arg name="car" ref="car" ></constructor-arg>
    </bean>
    <!-- p名称空间注入 走set方法 -->
    <bean name="user2" class="cn.lijun.domain.User" p:name="ashjkhkasf" p:age="999" p:car-ref="car">
    </bean>
    <!-- spel注入  spring Exception Language spring 表达式语言 -->
    <bean name="user3" class="cn.lijun.domain.User">
        <property name="name" value="#{user.name}"></property>
        <property name="age" value="#{user2.age}"></property>
        <property name="car" ref="car"></property>
    </bean>
    <!-- 复杂类型注入 -->
    <bean name="qi" class="cn.lijun.domain.Qiang">
      <!-- 一个数组中 只准备注入一个值  直接用value/ref -->
      <property name="arr">
          <array>
              <value>qiang</value>
              <value>ashj</value>
              <ref bean="user2"></ref>
          </array>
      </property>
      <property name="map">
         <map>
            <entry key="url" value="jdbc:mysql:///crm"></entry>
            <entry key="user" value-ref="user3"></entry>
         </map>
      </property>
     <property name="list">
         <list>
            <value>rose</value>
            <value>asfhjksjkdfjhjasdfdjk</value>
            <ref bean="user2"></ref>
         </list>
      </property>
       <property name="prop">
         <props>
             <prop key="drivarClass">com.jdbc.nysql.Driver</prop>
           <prop key="userName">root</prop>
           <prop key="password">root</prop>
         </props>

Spring 添加属性集中常见方法的更多相关文章

  1. JS函数可以再添加属性(包括方法)

    1 前言 JS函数可以再添加属性(包括方法),这个有点有趣,记录一下. 2 代码 <!DOCTYPE html> <html> <head> <title&g ...

  2. UIPickerView常见属性、常见方法(包括代理方法和数据源方法)的一些说明

    一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...

  3. 275 原型与原型链:显式原型prototype ,隐式原型__proto__,隐式原型链,原型链_属性问题,给原型对象添加属性/方法

    1.所有函数都有一个特别的属性 prototype : 显式原型属性 [普通构造函数的实例对象没有prototype 属性,构造函数有__proto__属性,原型对象有__proto__属性 ] 2. ...

  4. 我的Python学习笔记(四):动态添加属性和方法

    一.动态语言与静态语言 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C ...

  5. 属性添加get和set方法

    出错信息: Struts Problem Report Struts has detected an unhandled exception: Messages: File: com/myHibern ...

  6. spring mvc: 属性方法名称解析器(多动作控制器)MultiActionController/ControllerClassNameHandlerMapping/PropertiesMethodNameResolver

    spring mvc: 属性方法名称解析器(多动作控制器) 加入控制器是StudentContrller.java,里面有3个方法 index,add,remove 那么访问地址是: http://l ...

  7. ios动态添加属性的几种方法

    http://blog.csdn.net/shengyumojian/article/details/44919695 在ios运行过程中,有几种方式能够动态的添加属性. 1-通过runtime动态关 ...

  8. prototype为对象添加属性和方法

    可以通过prototype来为已经定义好的的"类"添加属性和方法.这里来了解一下prototype的基础知识.prototype是"构造函数"的属性,不是实例的 ...

  9. javascript面向对象(给对象添加属性和方法的方式)

    1.在定义对象时,直接把属性和方法添加 <script type="text/JavaScript"> //给对象直接在定义时添加属性和方法         var g ...

随机推荐

  1. Lattice并购案&我国FPGA发展路径

    FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化.网络化和智能化的发展,FPGA的应用领域得到快速扩张.美国在FPGA领域拥有绝对的垄断优势,已成 ...

  2. if else和switch case那个效率更高一点

    switch...case写法: switch (表达式){ case 值1 : 语句1 break; case 值2 : 语句2 break; ... default : 语句n break; } ...

  3. 一切为了落地,为什么要把PP.io设计成三个阶段!

    之前的一篇文章,我讲解了PP.io的三个阶段:“强中心”,“弱中心”,“去中心”.今天来解释下,我为什么要分三个阶段逐步实现PP.io去中心化存储网络: 简单地说,就是在区块链不可能三角理论中,我暂时 ...

  4. 知识点:synchronized 原理分析

    synchronized 原理分析 1. synchronized 介绍 在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐式的加 ...

  5. C语言数据结构基础学习笔记——基础线性表

    线性表是指具有相同数据类型的n(n>=0)个数据元素的有限序列,它具有一个表头元素和一个表尾元素,并且每一个数据元素最多只有一个直接前驱和一个直接后继. 线性表的顺序存储也叫作顺序表,它的特性是 ...

  6. JAVA中循环删除list中元素的方法总结(同上篇)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  7. python中定义的颜色

    平时学习工作中,我们经常会接触到一些大佬写的Python实用工具,运行起来总会显示出五颜六色的背景,相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪些选颜色 ...

  8. oracle入坑日记<五>数据表

    1   数据表 1.1.数据表是存放数据字段信息的地方:在Oracle,数据表拥有者单位是用户,同时数据表属于表空间.如: 登录my_user用户在orcl表空间下创建的表就是 my_user用户在o ...

  9. (转)适用微信小程序的table表格(带隔行变色)

    原文地址 table.wxml <view class="table"> <view class="tr bg-w"> <view ...

  10. django之signal机制再探

    djangobb中的signal post_save信号调用send函数时,为什么它会对与topic.post相关的其他models进行修改?同一个信号,例如post_save(保存过后的处理),是所 ...