博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring学习总结四——SpringIOC容器四
阅读量:5995 次
发布时间:2019-06-20

本文共 6438 字,大约阅读时间需要 21 分钟。

一:spring容器给bean对象注入属性值

1:注入基本属性值

a. 创建MessageBean类:

1 /** 2  *  3  */ 4 package com.hlcui.dao; 5  6 /** 7  * @author Administrator 8  *  9  */10 public class MessageBean {11     private String name;12 13     private int age;14 15     private double salary;16 17     public String getName() {18         return name;19     }20 21     public void setName(String name) {22         this.name = name;23     }24 25     public int getAge() {26         return age;27     }28 29     public void setAge(int age) {30         this.age = age;31     }32 33     public double getSalary() {34         return salary;35     }36 37     public void setSalary(double salary) {38         this.salary = salary;39     }40     41     public String execute() {42         System.out.println("name=" + name + "\nage=" + age 43                 + "\nsalary=" + salary);44         return "success";45     }46 47 }

b. 在spring容器配置文件中配置MessageBean对象核心代码:

1 
2
3
4
5
6

或者将value元素作为property元素的子元素,效果是一样的

1 
2
3
Tom
4
5
6
27
7
8
9
12000
10
11

c. 运行测试方法

1 @Test2     public void testBaseInject(){3         ApplicationContext ac = getApplicationContext();4         MessageBean mb = ac.getBean("messageBean", MessageBean.class);5         mb.execute();6     }

通过运行结果可知属性值已经注入到对象中,这种方式在前面已经总结过,就是setter注入。

2:注入集合属性值(List、Set、Map、Properties)

修改MessageBean类:

1 /**  2  *   3  */  4 package com.hlcui.dao;  5   6 import java.util.Iterator;  7 import java.util.List;  8 import java.util.Map;  9 import java.util.Properties; 10 import java.util.Set; 11 import java.util.Map.Entry; 12  13 /** 14  * @author Administrator 15  *  16  */ 17 public class MessageBean { 18     private List
someList; 19 private Set
someSet; 20 private Map
someMap; 21 private Properties props; 22 23 private String name; 24 25 private int age; 26 27 private double salary; 28 29 30 public List
getSomeList() { 31 return someList; 32 } 33 34 public void setSomeList(List
someList) { 35 this.someList = someList; 36 } 37 38 public Set
getSomeSet() { 39 return someSet; 40 } 41 42 public void setSomeSet(Set
someSet) { 43 this.someSet = someSet; 44 } 45 46 public Map
getSomeMap() { 47 return someMap; 48 } 49 50 public void setSomeMap(Map
someMap) { 51 this.someMap = someMap; 52 } 53 54 public Properties getProps() { 55 return props; 56 } 57 58 public void setProps(Properties props) { 59 this.props = props; 60 } 61 62 public String getName() { 63 return name; 64 } 65 66 public void setName(String name) { 67 this.name = name; 68 } 69 70 public int getAge() { 71 return age; 72 } 73 74 public void setAge(int age) { 75 this.age = age; 76 } 77 78 public double getSalary() { 79 return salary; 80 } 81 82 public void setSalary(double salary) { 83 this.salary = salary; 84 } 85 86 public String execute() { 87 System.out.println("name=" + name + "\nage=" + age 88 + "\nsalary=" + salary); 89 System.out.println("--------List集合结果--------"); 90 for(String str:someList){ 91 System.out.println(str); 92 } 93 System.out.println("--------Set集合结果--------"); 94 for(Iterator
it = someSet.iterator();it.hasNext();){ 95 System.out.println(it.next()); 96 } 97 System.out.println("-------Map集合结果--------"); 98 for(Entry
entry:someMap.entrySet()){ 99 String key = entry.getKey();100 String value = (String) entry.getValue();101 System.out.println(key+"=="+value);102 }103 System.out.println("-------Properties结果------");104 for(Object obj : props.keySet()){105 String value = props.getProperty((String) obj);106 System.out.println(obj+"=="+value);107 }108 return "success";109 }110 111 }

配置文件修改如下:

1 
2
3
Tom
4
5
6
27
7
8
9
12000
10
11
12
13
aaaaList
14
bbbbList
15
ccccList
16
17
18
19
20
111
21
222
22
333
23
24
25
26
27
28
29
30
31
32
33
34
root
35
root
36
37
38
39

运行测试方法:

从结果可以看出,参数注入成功!!!

3:引用方式注入集合属性

修改配置文件内容如下:

1 
2
aaaaList
3
bbbbList
4
ccccList
5
6
7
111
8
222
9
333
10
11
12
13
14
15
16
17
root
18
root
19
20
21
22
Tom
23
24
25
27
26
27
28
12000
29
30
31
32
33
34

运行测试方法:

和之前的效果是一样的,只不过这样配置更加明了!

 

二:利用spring表达式注入属性值

1:在src下添加文件user.properties,内容如下:

1 name=Jack2 age=303 salary=15000

 

2:在spring容器配置文件中加载配置文件

1 
2
3
1 
2
3
4
5
6

3:运行测试方法

通过结果可知spring表达式注入成功!

 

三:spring注入空值

1:修改配置文件

1 
2
3
4
5
6
7
8

2:运行测试方法

空值注入成功,只有引用数据类型才可以注入空值!

 

转载地址:http://avqlx.baihongyu.com/

你可能感兴趣的文章
【译】历史上的名人如何利用不同的思维方式成就自己
查看>>
续Gulp使用入门-综合运用>使用Gulp构建一个项目
查看>>
Session的过期时间如何计算?
查看>>
Ajax
查看>>
c# 图片窗口区域截图代码
查看>>
exports和module.exports的区别
查看>>
图像处理之基础---卷积函数积分的计算和性质
查看>>
<记录> HtmlHelper和 强类型页面
查看>>
初步jmeter安装与使用
查看>>
mysql innobackup 备份脚本
查看>>
添加service 和删除service
查看>>
Python 代码片段收藏
查看>>
用CSS开启硬件加速来提高网站性能(转)
查看>>
组件化网页开发 / 步骤一 · 3-10 作业题
查看>>
变量的作用域
查看>>
J2EE用监听器实现同一用户只能有一个在线
查看>>
javascript 数据结构----集合
查看>>
第二阶段冲刺9
查看>>
Network | NAT
查看>>
SGU 158.Commuter Train
查看>>