实体类代码

package cn.edu.zafu;public class Car {private String brand;private String corp;private double price;private int maxSpeed;public Car(String brand, String corp, double price) {this.brand = brand;this.corp = corp;this.price = price;}public Car(String brand, String corp, int maxSpeed) {this.brand = brand;this.corp = corp;this.maxSpeed = maxSpeed;}@Overridepublic String toString() {return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price+ ", maxSpeed=" + maxSpeed + "]";}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public String getCorp() {return corp;}public void setCorp(String corp) {this.corp = corp;}public int getMaxSpeed() {return maxSpeed;}public void setMaxSpeed(int maxSpeed) {this.maxSpeed = maxSpeed;}}
package cn.edu.zafu;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;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";}
}

Spring属性注入通过反射创建Bean,要求必须提供一个默认的构造器,在代码中我们通过bean id获得bean

<bean id="helloWorld" class="cn.edu.zafu.HelloWorld"><property name="name" value="lizhangqu"></property>
</bean>

Spring构造器注入,可以使用index表示构造器中的第几个属性,使用type表示构造器参数类型

 <bean id="car" class="cn.edu.zafu.Car"><constructor-arg value="Audi" index="0"></constructor-arg><constructor-arg value="Shanghai" index="1"></constructor-arg><constructor-arg value="30000" index="2"></constructor-arg></bean>
   <bean id="car1" class="cn.edu.zafu.Car"><constructor-arg value="Audi" type="java.lang.String"></constructor-arg><constructor-arg value="Shanghai" type="java.lang.String"></constructor-arg><constructor-arg value="100" type="int"></constructor-arg></bean>

如过value值包含特殊字符,可以包含value标签,使用CDATA

<span style="white-space:pre"> </span><bean id="car2" class="cn.edu.zafu.Car"><constructor-arg value="Audi" type="java.lang.String"></constructor-arg><constructor-arg type="java.lang.String"><value><![CDATA[<ShangHai>]]></value></constructor-arg><constructor-arg value="100" type="int"></constructor-arg></bean>

可以使用ref引用已有的bean

  <bean id="person" class="cn.edu.zafu.Person"><property name="name" value="Tom"></property><property name="age" value="13"></property><property name="car" ref="car2"></property></bean>

也可以使用内部bean

<span style="white-space:pre">    </span><bean id="person1" class="cn.edu.zafu.Person"><property name="name" value="Tom"></property><property name="age" value="13"></property><property name="car"><bean class="cn.edu.zafu.Car"><constructor-arg value="Baoma" type="java.lang.String"></constructor-arg><constructor-arg value="Shanghai" type="java.lang.String"></constructor-arg><constructor-arg value="200" type="int"></constructor-arg></bean></property></bean>

也可以使用级联属性,但是前提是先初始化

<span style="white-space:pre">    </span><bean id="person2" class="cn.edu.zafu.Person"><property name="name" value="Tom"></property><property name="age" value="13"></property><property name="car" ref="car2"></property><property name="car.price" value="3000000"></property></bean>

对于list,map等数据类型,可以只用对应的标签

转载于:https://www.cnblogs.com/lizhangqu/p/4234571.html

Spring之Bean配置相关推荐

  1. 使用@Configuration注解来代替Spring的bean配置

    下面是一个典型的Spring配置文件(application-config.xml): 1 2 3 4 5 6 7 8 <beans>          <bean id=" ...

  2. Spring开发--Bean配置实例讲解

    有一个这样的Bean文件:<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate ...

  3. Spring Bean配置方式之一:Java配置

    简介: Spring bean 是使用传统的 XML 方法配置的.在这篇文章中,您将学习使用基于纯 Java 的配置而非 XML 来编写 Spring bean 并配置它们.本文将介绍可用来配置 be ...

  4. 属性处理器Spring攻略学习笔记(2.12)------外部化Bean配置

    PS:今天上午,非常郁闷,有很多单简基础的问题搞得我有些迷茫,哎,码代几天不写就忘.目前又不当COO,还是得用心记码代哦! 一.知识点 Spring中PropertyPlaceholderConfig ...

  5. Spring之Bean的配置(二)

    目录 一.Bean的配置 1.自动装配 (1)简介 (2)缺点 2.继承Bean 3.依赖Bean配置 4.Bean的作用域 5.使用外部属性文件 6.注册PropertyPlaceholderCon ...

  6. Spring之Bean的配置(一)

    目录 一.概述 1.什么是Spring 2.作用 二.Spring中的Bean配置 1.IOC容器里配置bean 2.Spring容器 3.ApplicationContext 4.从IOC容器中获取 ...

  7. springboot项目中的注解 启动项目的方式 解决spring的bean.xml配置不生效 spring的基础JDBC配置

    依赖 创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承 先来看 parent 的基本功能有哪些? 定义了 Java 编译版 ...

  8. Spring的Bean实例化、属性注入、对象注入、复杂注入(基于xml配置方式)

    一.Bean实例化的三种方式: (1)使用类的无参构造创建 (2)使用静态工厂创建 (3)使用实例工厂创建 代码实例: (1)项目结构: (2)在pom.xml中导入spring的核心jar包依赖: ...

  9. Spring bean配置继承

    在 Spring,继承是用为支持bean设置一个 bean 来分享共同的值,属性或配置. 一个子 bean 或继承的bean可以继承其父 bean 的配置,属性和一些属性.另外,子 Bean 允许覆盖 ...

  10. 零配置 之Spring基于Java类定义Bean配置元数据

    转载自  [第十二章]零配置 之 12.4 基于Java类定义Bean配置元数据 --跟我学spring3 12.4  基于Java类定义Bean配置元数据 12.4.1  概述 基于Java类定义B ...

最新文章

  1. 据说是腾讯php程序员面试题目 蛋疼..要是提供PHP手册就HI了..
  2. 防止删库悲剧发生,这里有个Bash脚本测试框架,危险代码一测便知
  3. 科大讯飞输入法解锁高效语音输入
  4. java hough_java – 如何实现Hough变换?
  5. document.getElementById() 的作用
  6. SCAU高级语言程序设计--实验6 循环结构(二)(3)
  7. MAX6299MTT在CPLD上的应用
  8. 爬虫基本库的使用之正则表达式
  9. 有台服务可以干哪些好玩的事
  10. 西门子PLC状态字解释
  11. MIUI14+安卓13 Root教程 小米10 小米11 小米12 小米13 红米
  12. Excel表格无法重命名工作表
  13. Laragon实现快速创建ThinkPHP项目
  14. jQuery轮播图(详细注释)
  15. 2008年胡润中国富豪榜榜单(301-400名)
  16. 一种以STC89C51为核心控制器的积水清除与利用装置解决方案
  17. 网页基础(九)选择器
  18. 基于javascript实现的网址收藏夹项目
  19. Web前端:你应该知道的5个CSS框架
  20. 基于springboot的二手物品交易管理系统

热门文章

  1. NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
  2. 理解Java - JDK动态代理原理
  3. JUC并发编程超详细详解篇
  4. Python struct模块与简单使用
  5. 使用Connector/C++操作MySQL
  6. jenkins JDK的集成
  7. python 并行读取文件_python对文件进行并行计算初探(二)
  8. Spring基于XML的IOC细节
  9. c++ string长度_String.format()的简单使用
  10. 西北农林科技大学c语言上机题题答案,西北农林科技大学C语言上机实习4答案