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

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. PCL中Sample_consensus分割支持的几何模型

    随机采样一致分割法,从点云中分割出线.面等几何元素 #include <pcl/sample_consensus/method_types.h> #include <pcl/samp ...

  2. 如何修改MSSQL的用户名

    Alter LOGIN sa DISABLE Alter LOGIN sa WITH NAME = [systemAccount] "systemAccount" 为SA的新名称, ...

  3. xcopy命令总结

    xcopy命令总结1.拷贝多个文件和目录用xcopy /yhie或者xcopy /yhis命令,注意目标路径要以\结尾,例如:xcopy /yhie *.* e:\xxx\2.拷贝多个固定名字的文件用 ...

  4. Android中是否推荐使用枚举Enum

    一.Enum的产生 Java1.5中引入了枚举的语法,包括Enum,EnumSet,EnumMap等.其中Enum就是我们在C或C++中见过的枚举类型,但是Java中的枚举又比C或C++中的枚举更成熟 ...

  5. Groovy与Java集成常见的坑

    摘要: groovy特性 Groovy是一门基于JVM的动态语言,同时也是一门面向对象的语言,语法上和Java非常相似.它结合了Python.Ruby和Smalltalk的许多强大的特性,Groovy ...

  6. PP.io的三个阶段,“强中心”——“弱中心”——“去中心”

    什么是PP.io? PP.io是我和Bill发起的存储项目,目的在于为开发者提供一个去中心化的存储和分发平台,能做到更便宜,更高速,更隐私. 当然做去中心化存储的项目也有好几个,FileCoin,Si ...

  7. ECMAScript 6 学习总结

    1.什么是ES6? 简单的说 ES6 的第一个版本,在2015年6月发布了,正式名称就是<ECMAScript 2015标准>(简称 ES2015)在2016年6月,小幅修订的<EC ...

  8. React+ES6+Webpack深入浅出

    React已成为前端当下最热门的前端框架之一 , 其虚拟DOM和组件化开发让前端开发更富灵活性,而Webpack凭借它异步加载和可分离打包等优秀的特性,更为React的开发提供了便利.其优秀的特性不再 ...

  9. python学习笔记之三-计算运行时间

    方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.no ...

  10. (整理)EF分页的实现

    最近做一个小功能,需要数据分页,因为小框架使用的是EF,因此查询了一下EF的分页. EF分页主要用到了skip和take两个方法: GetListBy(lamda xxxxx).skip(PageSi ...