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

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. Code::Blocks 导入Makefile工程

    1)“File -> New -> Project”,选择“Empty Project”并创建. 2)选中 Project,右键,选择“Add files”,将 c/c++ 和 head ...

  2. 基于MNIST数据集使用TensorFlow训练一个包含一个隐含层的全连接神经网络

    包含一个隐含层的全连接神经网络结构如下: 包含一个隐含层的神经网络结构图 以MNIST数据集为例,以上结构的神经网络训练如下: #coding=utf-8 from tensorflow.exampl ...

  3. 2017-2018-2 20165312实验二《Java面向对象程序设计》实验报告

    2017-2018-2 20165312实验二<Java面向对象程序设计>实验报告 实验中遇到的问题 1.增加MyUtil的测试类之后,TestCase是红色的,但是没有找到junit.j ...

  4. Java访问Phoenix连接

    两种方法,一种是直接使用jdbc连接,一种是使用spring连接. jdbc连接和访问oracle步骤相同: ///////////// 测试Phoenix连接 /////////////// Str ...

  5. 10K+,深度学习论文、代码最全汇总!

    我们大部分人是如何查询和搜集深度学习相关论文的?绝大多数情况是根据关键字在谷歌.百度搜索.想寻找相关论文的复现代码又会去 GitHub 上搜索关键词.浪费了很多时间不说,论文.代码通常也不够完整.怎么 ...

  6. Oracle 查询合并列

    在ORACLE  查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省 ...

  7. [mysql,2018-02-28] bat安装、启动mysql,并创建数据库、表

    @echo off f: cd F:\mysql-win32 @echo off&setlocal enabledelayedexpansion cd bin echo ###### 停止当前 ...

  8. 面试回顾——List<T>排序

    1.如何对List<T>排序: public static void main(String[] args) { Student stu1=new Student("张三&quo ...

  9. 06python上

    product_list=[ ('Mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike',2000), ] ...

  10. Java入门到精通第4版汇总