Spring入门(2)IOC赋值

1、针对有参数构建赋值

public Person(String lastName, Integer age, String gender){
	this.lastName = lastName;
	this.age = age;
	this.gender = gender;
}

使用constructor-arg来赋值

<bean id="person03" class="com.atguigu.bean.Person">
	<!-- 调用有参构造器进行创建对象并赋值;掌握 -->
	<!-- public Person(String lastName, Integer age, String gender, String email) -->
	<constructor-arg name="lastName" value="小明"></constructor-arg>
	<constructor-arg name="gender" value="男"></constructor-arg>
	<constructor-arg name="age" value="18"></constructor-arg>
</bean>

2、内部赋值

代码

public class Person {
	//基本类型直接使用
	//<property name="lastName" value="小花"></property>自动的进行类型转换;
	private Car car;
	}
package com.atguigu.bean;

public class Car {
	
	private String carName;
	private Integer price;
	private String color;
	
	
	public Car() {
		super();
		// TODO Auto-generated constructor stub
		System.out.println("car被创建...");
	}
	public String getCarName() {
		return carName;
	}
	public void setCarName(String carName) {
		this.carName = carName;
	}
	public Integer getPrice() {
		return price;
	}
	public void setPrice(Integer price) {
		this.price = price;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	@Override
	public String toString() {
		return "Car [carName=" + carName + ", price=" + price + ", color="
				+ color + "]";
	}
}

赋值

<bean id="person01" class="com.atguigu.bean.Person">
	<!-- lastName="null" -->
	<property name="lastName">
		<!-- 进行复杂的赋值 -->
		<null />
	</property>
	<!-- ref:代表引用外面的一个值 ;引用其他bean car = ioc.getBean("car01") -->
	<!-- <property name="car" ref="car01"></property> -->
	<property name="car">
		<!--对象我们可以使用bean标签创建 car = new Car(); 引用内部bean;不能被获取到,只能内部使用 -->
		<bean class="com.atguigu.bean.Car">
			<property name="carName" value="自行车"></property>
		</bean>
	</property>
</bean>

3、list、map、properties赋值

private List<Book> books;
private Map<String, Object> maps;
private Properties properties;
<bean id="person02" class="com.atguigu.bean.Person">
	<!-- 如何为list类型赋值 -->
	<property name="books">
		<!-- books = new ArrayList<Book>(); -->
		<list>
			<!-- list标签体中添加每一个元素 -->
			<bean class="com.atguigu.bean.Book" p:bookName="西游记"></bean>
			<!-- 引用外部一个元素 -->
			<ref bean="book01" />
		</list>
	</property>

	<!-- Map<String, Object> maps; -->
	<property name="maps">
		<!-- maps = new LinkedHashMap<>(); -->
		<map>
			<!-- 一个entry代表一个键值对 -->
			<entry key="key01" value="张三"></entry>
			<entry key="key02" value="18"></entry>
			<entry key="key03" value-ref="book01"></entry>
			<entry key="key04">
				<bean class="com.atguigu.bean.Car">
					<property name="carName" value="宝马"></property>
				</bean>
			</entry>
			<entry key="key05">
				<value>李四</value>
			</entry>
			<!-- <entry key="key05"> <map></map> </entry> -->
		</map>
	</property>

	<!-- private Properties properties; -->
	<property name="properties">
		<!-- properties = new Properties();所有的k=v都是string -->
		<props>
			<!-- k=v都是string;值直接写在标签体中 -->
			<prop key="username">root</prop>
			<prop key="password">123456</prop>
		</props>
	</property>
</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值