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

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. 在Release版本下使用VLD

    前提 同Debug版本在VC中配置好VLD的相关信息,拷贝 Visual Leak Detector\bin\Win32目录下所有的文件和vld.ini到工程目标路径下. 强制检测 在程序入口处的cp ...

  2. Entity Framework Code first 可能会导致循环或多个级联路径.

    用code first映射数据库报错 Introducing FOREIGN KEY constraint 'FK_dbo.Roles_dbo.SubSystems_SubSystemID' on t ...

  3. SQLServer、MySQL、Oracle如何查看所有表的条数

    SQLServer: create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), i ...

  4. Pillow《转载》

    Pillow https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432002 ...

  5. Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量

    首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) p ...

  6. Laravel线上布暑到linux的问题汇总

    1.直接报403错误 ,配置文件中增加: location / { try_files $uri $uri/ /index.php?$query_string; } 同时根目录不是指到项目名,而是指到 ...

  7. MYSQL与TiDB的执行计划

    前言 这里采用了tpc-h一个数据库的数据量来进行查询计划的对比.并借助tpc-h中的22条查询语句进行执行计划分析. mysql采用的是标准安装,TiDB采用的是单机测试版,这里的性能结果不能说明其 ...

  8. java中Class.getMethod方法

    Method Class.getMethod(String name, Class<?>... parameterTypes)的作用是获得对象所声明的公开方法 该方法的第一个参数name是 ...

  9. Shell脚本1-20例

    1.每天生成一个文件 描述:请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为)2017-07-05.log, 并且把磁盘的使用情况写到到这个文件中,(不用考虑cron ...

  10. Sphinx 安装与使用

    Sphinx 优点 高速索引(接近10M/S) 高速搜索(2-4G文本搜索耗时不到0.1秒) 高可用性(单CPU支持100GB文本,100M文档) 提供相关性排名.分布式搜索.文档摘要(高亮显示) S ...