一聚教程网:一个值得你收藏的教程网站

热门教程

Spring中利用配置文件和@value注入属性值代码详解

时间:2022-06-29 01:04:01 编辑:袖梨 来源:一聚教程网

1 简单属性值注入

package com.xy.test1;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service // 需要被注入属性值的类需要被Spring管理 
public class PropertiesService1 {
	// 利用@Value注解,即使没有该属性或者属性文件也不会报错 
	// @Value输入属性值name,默认值xydefault 
	@Value("${name:xydefault}") 
	  private String name;
	// @Value输入属性值num,默认值-1 
	@Value("${num:-1}") 
	  private Integer num;
	// @Value输入属性值type,默认值-2 
	@Value("${type:-2}") 
	  private Integer type;
	public void getInfo() {
		System.out.println("name:" + name + ",num:" + num + ",type:" + type);
	}
}
#src/main/resource新建文件info.properties 
name=xy1 
num=101 
type=1 









	
	
		
			classpath:info/info.properties
		
	

2 利用util标签注入复杂属性值

package com.xy.test2;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/** 
 * 该类必须被Spring容器管理属性才可以被注入。利用@Value注解,即使没有该属性或者属性文件也不会报错 
 */
@Service 
public class PropertiesService2 {
	@Value("#{testPro}") 
	  private Properties pros;
	@Value("#{testList}") 
	  private List myList;
	@Value("#{testMap}") 
	  private Map myMap;
	public Properties getPros() {
		return pros;
	}
	public void setPros(Properties pros) {
		this.pros = pros;
	}
	public List getMyList() {
		return myList;
	}
	public void setMyList(List myList) {
		this.myList = myList;
	}
	public Map getMyMap() {
		return myMap;
	}
	public void setMyMap(Map myMap) {
		this.myMap = myMap;
	}
}
#src/main/resource新建文件info2.properties 
name=xy2 
num=102 
type=2 
   
 
 
 
 
 
 
 
 
  first 
  second 
  third 
 
 
 
 
   
   
   
 

热门栏目