如何注入值到Spring bean属性

Posted Wit_tang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何注入值到Spring bean属性相关的知识,希望对你有一定的参考价值。

在Spring中,有三种方式注入值到 bean 属性。
  • 正常的方式
  • 快捷方式
  • “p” 模式
看到一个简单的Java类,它包含两个属性 -  name 和 type 。稍后将使用Spring注入值到这个 bean 属性。
package com.yiibai.common;

public class FileNameGenerator 

	private String name;
	private String type;
	
	public String getName() 
		return name;
	
	public void setName(String name) 
		this.name = name;
	
	public String getType() 
		return type;
	
	public void setType(String type) 
		this.type = type;
	

1.正常方式

在一个“ value” 标签注入值,并附有“ property”标签结束
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator">
		<property name="name">
			<value>yiibai</value>
		</property>
		<property name="type">
			<value>txt</value>
		</property>
	</bean>
</beans>

2,快捷方式

注入值“value”属性。
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator">
		<property name="name" value="yiibai" />
		<property name="type" value="txt" />
	</bean>
	
</beans>

3. “p” 模式

通过使用“p”模式作为注入值到一个属性。
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator" 
             p:name="yiibai" p:type="txt" />
	
</beans>
记住声明 xmlns:p=” http://www.springframework.org/schema/p" 在Spring XML bean配置文件。

总结

这些方法的使用完全是基于个人喜好,也不会影响注入bean属性的值。

以上是关于如何注入值到Spring bean属性的主要内容,如果未能解决你的问题,请参考以下文章

注入值到Spring bean属性

Spring4-三种方式注入值到 bean 属性

Spring EL hello world实例

Spring注入值到静态变量

springmvc在线教程

如何使用 Spring 框架从属性文件中获取值到 Map 中?