XML 代码:

<!-- 使用构造器注入属性值的位置和参数的类型!以区分重载的构造器! -->
<bean id="car1" class="com.hy.spring.beans.Car">
<constructor-arg value="BaoMa" type="String"></constructor-arg>
<!--如果字面值包含特殊字符可以使用 <![CDATA[]]> 包裹起来 -->
<!--属性值也可以使用value 直接点进行配置 -->
<constructor-arg type="String">
<value> <![CDATA[<China^>]]> </value>
</constructor-arg>
<constructor-arg value="240" type="int"></constructor-arg>
</bean>

Person.java

package com.hy.spring.beans;

public class Person {
private String name;
private int age;
private Car car;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public Car getCar() {
return car;
}

public void setCar(Car car) {
this.car = car;
}

@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";
}

}

XML 代码

<!-- 使用构造器注入属性值的位置和参数的类型!以区分重载的构造器! -->
<bean id="car1" class="com.hy.spring.beans.Car">
<constructor-arg value="BaoMa" type="String"></constructor-arg>
<!--如果字面值包含特殊字符可以使用 <![CDATA[]]> 包裹起来 -->
<!--属性值也可以使用value 直接点进行配置 -->
<constructor-arg type="String">
<value> <![CDATA[<China^>]]> </value>
</constructor-arg>
<constructor-arg value="240" type="int"></constructor-arg>
</bean>

<bean id="person" class="com.hy.spring.beans.Person">
<property name="name" value="Tom"></property>
<property name="age" value="27"></property>
<!-- 可以使用 property 的 ref 属性建立bean之间的引用关系-->
<property name="car" ref="car1"></property>
</bean>

XML 配置

<bean id="person" class="com.hy.spring.beans.Person">
<property name="name" value="Tom"></property>
<property name="age" value="27"></property>
<!-- 可以使用 property 的 ref 属性建立bean之间的引用关系-->
<!-- <property name="car" ref="car1"></property> -->
<!-- 内部Bean,不能被外部引用,只能在内部使用 -->
<property name="car">
<bean class="com.hy.spring.beans.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="ChangAn"></constructor-arg>
<constructor-arg value="300000" type="double"></constructor-arg>
</bean>
</property>
</bean>

<bean id="person1" class="com.hy.spring.beans.Person">
<constructor-arg name="name" value="Jack"></constructor-arg>
<constructor-arg name="age" value="35"></constructor-arg>
<constructor-arg name="car">
<bean class="com.hy.spring.beans.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="ChangAn"></constructor-arg>
<constructor-arg value="300000" type="double"></constructor-arg>
</bean>
</constructor-arg>
</bean>

<bean id="person2" class="com.hy.spring.beans.Person">
<constructor-arg name="name" value="Hao"></constructor-arg>
<constructor-arg name="age" value="30"></constructor-arg>
<constructor-arg name="car" ref="car"></constructor-arg>
<!-- 为级联属性赋值。
注意:属性要先初始化后才可以为级联属性赋值,否则会出异常,
和sturct2 不同。 -->
<property name="car.maxSpeed" value="250"></property>
</bean>

Person.java

package com.hy.spring.beans;

public class Person {
private String name;
private int age;
private Car car;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public Car getCar() {
return car;
}

public void setCar(Car car) {
this.car = car;
}

@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";
}

public Person(String name, int age, Car car) {
super();
this.name = name;
this.age = age;
this.car = car;
}

public Person (){

}
}

Spring_属性配置细节的更多相关文章

  1. Spring_配置Bean & 属性配置细节

    1.Spring容器 在 Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean 实例并使用.Sp ...

  2. 4. selectKey语句属性配置细节

    selectKey语句属性配置细节:

  3. Spring 学习笔记 4. 尚硅谷_佟刚_Spring_属性配置细节

    1,字面值 •字面值:可用字符串表示的值,可以通过 <value> 元素标签或 value 属性进行注入. •基本数据类型及其封装类.String 等类型都可以采取字面值注入的方式 •若字 ...

  4. 03-spring学习-属性配置细节

    配置bean的一些细节 字面值 如果包含特殊符号,直接写会报错.可以用这个<![CDATA[]]>包裹起来. 比如这里的配置属性里面的value值包含<>等特殊符号,直接写会报 ...

  5. spring 属性配置细节

    1.使用构造器注入属性值可以指定参数的位置和参数的类型!以区分重载的构造器.例如:<constructor-arg value="" type="java.lang ...

  6. Spring(八):Spring配置Bean(一)BeanFactory&ApplicationContext概述、依赖注入的方式、注入属性值细节

    在Spring的IOC容器里配置Bean 配置Bean形式:基于xml文件方式.基于注解的方式 在xml文件中通过bean节点配置bean: <?xml version="1.0&qu ...

  7. Spring容器的属性配置详解的六个专题

    在spring IOC容器的配置文件applicationContext.xml里,有一些配置细节值得一提.我们将一些问题归结为以下几个专题.   专题一:字面值问题 配置的bean节点中的值,我们提 ...

  8. ExtJs控件属性配置详细

    序言:    1.本文摘自网络,看控件命名像是4.0以前的版本,但控件属性配置仍然可以借鉴(不足之处,以后项目用到时再续完善). Ext.form.TimeField: 配置项:            ...

  9. VS项目属性配置实验过程

    (原创,转载注明出处:http://www.cnblogs.com/binxindoudou/p/4017975.html ) 一.实验背景 cocos2d-x已经发展的相对完善了,从项目的创建.编译 ...

随机推荐

  1. BZOJ 3362 Navigation Nightmare 带权并查集

    题目大意:给定一些点之间的位置关系,求两个点之间的曼哈顿距离 此题土豪题.只是POJ也有一道相同的题,能够刷一下 别被题目坑到了,这题不强制在线.把询问离线处理就可以 然后就是带权并查集的问题了.. ...

  2. django用户认证系统——基本设置1

    网站提供登录.注册等用户认证功能是一个常见的需求.因此,Django 提供了一套功能完整的.灵活的.易于拓展的用户认证系统:django.contrib.auth.在本教程中,我将向你展示 auth ...

  3. 利用python输出000至999中间的数

    打造一个000-999的字典 ): : i = '+str(i) elif <=i and i<: i ='+str(i) else: i=str(i) with open('1.txt' ...

  4. eclipse新建maven web工程

    每次建maven项目,总会有问题.决定在这整理一次,避免以后浪费时间. 最后目录为 1.首先修改pom.xml 之前老是出现明明改了 java compiler 已maven update 一下就又变 ...

  5. iOS-UIScrollView拉伸效果

    解决办法: 比如登录界面是可以上下拉伸的(微信),在ScrollView里调用一下这个方法即可. scrollView.alwaysBounceVertical = YES;

  6. http协议详解(2)

    HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request ...

  7. Linux下自动调整时间和时区与Internet时间同步

    (原文链接) 调整linux系统时间和时区与Internet时间同步一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的 ...

  8. sql优化(1)

    转自:https://blog.csdn.net/jie_liang/article/details/77340905 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化, ...

  9. [Algorithms] Heap and Heapsort

    Recently I reviewed the classic heapsort algorithm and implement it according to contents in Introdu ...

  10. Minecraft Forge编程入门二 “工艺和食谱”

    从现在开始我们就要开始真正写代码了,还没有来得及配置环境的同学可以参考Minecraft Forge编程入门一 "环境搭建"这篇文章来进行环境搭建. 工艺(Craft)和食谱(Re ...