1 简单属性值注入
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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);
}
}
|
?
|
1
2
3
4
|
#src/main/resource新建文件info.properties
name=xy1
num=101
type=1
|
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!-- applicationContext.xml文件 -->
<!-- 扫描测试属性包中的类,要注入属性类需要被Spring管理 -->
<context:component-scan base-package="com.xy.test1" />
<!--方法1-->
<!-- <context:property-placeholder location="classpath*:info/info.properties" /> -->
<!--方法2-->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1" />
<property name="locations">
<list>
<value>classpath:info/info.properties</value>
</list>
</property>
</bean>
|
2 利用util标签注入复杂属性值
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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<String> myList;
@Value("#{testMap}")
private Map<Integer, String> myMap;
public Properties getPros() {
return pros;
}
public void setPros(Properties pros) {
this.pros = pros;
}
public List<String> getMyList() {
return myList;
}
public void setMyList(List<String> myList) {
this.myList = myList;
}
public Map<Integer, String> getMyMap() {
return myMap;
}
public void setMyMap(Map<Integer, String> myMap) {
this.myMap = myMap;
}
}
|
?
|
1
2
3
4
|
#src/main/resource新建文件info2.properties
name=xy2
num=102
type=2
|
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<!-- applicationContext.xml -->
<!-- 扫描测试属性包中的类,要注入属性类需要被Spring管理 -->
<context:component-scan base-package="com.xy.test2" />
<!-- properties -->
<util:properties id="testPro" location="classpath:info/info2.properties" />
<!-- list -->
<util:list id="testList" list-class="java.util.ArrayList">
<value>first</value>
<value>second</value>
<value>third</value>
</util:list>
<!-- map -->
<util:map id="testMap" map-class="java.util.HashMap">
<entry key="1" value="first" />
<entry key="2" value="second" />
<entry key="3" value="third" />
</util:map>
|
总结
以上就是本文关于Spring中利用配置文件和@value注入属性值代码详解的全部内容,希望对大家有所帮助。有什么问题可以随时留言,小编会及时回复大家的。
原文链接:http://blog.csdn.net/woshixuye/article/details/54999993
相关文章
猜你喜欢
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-25 72
-
2025-05-26 71
-
2025-05-25 80
-
2025-05-26 50
-
2025-05-29 45
热门评论

