Spring之Bean配置
实体类代码
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配置相关推荐
- 使用@Configuration注解来代替Spring的bean配置
下面是一个典型的Spring配置文件(application-config.xml): 1 2 3 4 5 6 7 8 <beans> <bean id=" ...
- Spring开发--Bean配置实例讲解
有一个这样的Bean文件:<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate ...
- Spring Bean配置方式之一:Java配置
简介: Spring bean 是使用传统的 XML 方法配置的.在这篇文章中,您将学习使用基于纯 Java 的配置而非 XML 来编写 Spring bean 并配置它们.本文将介绍可用来配置 be ...
- 属性处理器Spring攻略学习笔记(2.12)------外部化Bean配置
PS:今天上午,非常郁闷,有很多单简基础的问题搞得我有些迷茫,哎,码代几天不写就忘.目前又不当COO,还是得用心记码代哦! 一.知识点 Spring中PropertyPlaceholderConfig ...
- Spring之Bean的配置(二)
目录 一.Bean的配置 1.自动装配 (1)简介 (2)缺点 2.继承Bean 3.依赖Bean配置 4.Bean的作用域 5.使用外部属性文件 6.注册PropertyPlaceholderCon ...
- Spring之Bean的配置(一)
目录 一.概述 1.什么是Spring 2.作用 二.Spring中的Bean配置 1.IOC容器里配置bean 2.Spring容器 3.ApplicationContext 4.从IOC容器中获取 ...
- springboot项目中的注解 启动项目的方式 解决spring的bean.xml配置不生效 spring的基础JDBC配置
依赖 创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承 先来看 parent 的基本功能有哪些? 定义了 Java 编译版 ...
- Spring的Bean实例化、属性注入、对象注入、复杂注入(基于xml配置方式)
一.Bean实例化的三种方式: (1)使用类的无参构造创建 (2)使用静态工厂创建 (3)使用实例工厂创建 代码实例: (1)项目结构: (2)在pom.xml中导入spring的核心jar包依赖: ...
- Spring bean配置继承
在 Spring,继承是用为支持bean设置一个 bean 来分享共同的值,属性或配置. 一个子 bean 或继承的bean可以继承其父 bean 的配置,属性和一些属性.另外,子 Bean 允许覆盖 ...
- 零配置 之Spring基于Java类定义Bean配置元数据
转载自 [第十二章]零配置 之 12.4 基于Java类定义Bean配置元数据 --跟我学spring3 12.4 基于Java类定义Bean配置元数据 12.4.1 概述 基于Java类定义B ...
最新文章
- 据说是腾讯php程序员面试题目 蛋疼..要是提供PHP手册就HI了..
- 防止删库悲剧发生,这里有个Bash脚本测试框架,危险代码一测便知
- 科大讯飞输入法解锁高效语音输入
- java hough_java – 如何实现Hough变换?
- document.getElementById() 的作用
- SCAU高级语言程序设计--实验6 循环结构(二)(3)
- MAX6299MTT在CPLD上的应用
- 爬虫基本库的使用之正则表达式
- 有台服务可以干哪些好玩的事
- 西门子PLC状态字解释
- MIUI14+安卓13 Root教程 小米10 小米11 小米12 小米13 红米
- Excel表格无法重命名工作表
- Laragon实现快速创建ThinkPHP项目
- jQuery轮播图(详细注释)
- 2008年胡润中国富豪榜榜单(301-400名)
- 一种以STC89C51为核心控制器的积水清除与利用装置解决方案
- 网页基础(九)选择器
- 基于javascript实现的网址收藏夹项目
- Web前端:你应该知道的5个CSS框架
- 基于springboot的二手物品交易管理系统
热门文章
- NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
- 理解Java - JDK动态代理原理
- JUC并发编程超详细详解篇
- Python struct模块与简单使用
- 使用Connector/C++操作MySQL
- jenkins JDK的集成
- python 并行读取文件_python对文件进行并行计算初探(二)
- Spring基于XML的IOC细节
- c++ string长度_String.format()的简单使用
- 西北农林科技大学c语言上机题题答案,西北农林科技大学C语言上机实习4答案