博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【spring set注入 注入集合】 使用set注入的方式注入List集合和Map集合/将一个bean注入另一个Bean...
阅读量:6296 次
发布时间:2019-06-22

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

 

Dao层代码:

1 package com.it.dao;2 3 public interface SayHell {4         public void sayHello();5 }
View Code

 

Dao的Impl实现层:

1 package com.it.dao.impl;  2   3 import java.util.List;  4 import java.util.Map;  5   6 import com.it.dao.SayHell;  7   8 /**  9  * Spring如何知道setter方法?如何将值注入进去的呢?其实方法名是要遵守约定的,setter注入的方法名要遵循“JavaBean getter/setter 方法命名约定”: 10  *  11    JavaBean:是本质就是一个POJO类,但具有一下限制: 12          该类必须要有公共的无参构造器,如public HelloImpl4() {}; 13          属性为private访问级别,不建议public,如private String message; 14          属性必要时通过一组setter(修改器)和getter(访问器)方法来访问; 15      setter方法,以“set” 开头,后跟首字母大写的属性名,如“setMesssage”,简单属性一般只有一个方法参数,方法返回值通常为“void”; 16      getter方法,一般属性以“get”开头,对于boolean类型一般以“is”开头,后跟首字母大写的属性名,如“getMesssage”,“isOk”; 17                   还有一些其他特殊情况,比如属性有连续两个大写字母开头,如“URL”,则setter/getter方法为:“setURL”和“getURL”,其他一些特殊情况请参看“Java Bean”命名规范。 18  * @return 19  */ 20 public class SayHelloImpl4 implements SayHell { 21      22     private List
listValue; 23 24 private Map
mapValue; 25 26 private int fistBleed; 27 28 private Map
firstMap; 29 30 31 32 33 public Map
getFirstMap() { 34 return firstMap; 35 } 36 37 38 public void setFirstMap(Map
firstMap) { 39 this.firstMap = firstMap; 40 } 41 42 43 public int getFistBleed() { 44 return fistBleed; 45 } 46 47 48 public void setFistBleed(int fistBleed) { 49 this.fistBleed = fistBleed; 50 } 51 52 53 public List
getListValue() { 54 return listValue; 55 } 56 57 58 public void setListValue(List
listValue) { 59 this.listValue = listValue; 60 } 61 62 63 64 public Map
getMapValue() { 65 return mapValue; 66 } 67 68 69 public void setMapValue(Map
mapValue) { 70 this.mapValue = mapValue; 71 } 72 73 74 @Override 75 public void sayHello() { 76 int i=1; 77 for (String string : listValue) { 78 System.out.println(i+"、"+string); 79 i++; 80 } 81 82 } 83 84 public void sayMapGood(){ 85 int size = mapValue.size(); 86 if(size!=0){ 87 for(int a=1; a<=size ;a++){ 88 System.out.println(a+"、"+mapValue.get(String.valueOf(a))); 89 } 90 } 91 } 92 93 public void sayMapGood2(){ 94 int size = firstMap.size(); 95 if(size!=0){ 96 System.out.println(firstMap.get("1").fistBleed); 97 } 98 } 99 100 }
View Code

 

配置文件setList.xml:

1 
2
9 10 11 12
13
14
15
16
德玛西亚
17
艾欧尼亚
18
暗影岛
19
德莱文明
20
21
22
23 24
28 29
30
31
32
33
34
35
1
36
37
38 12339
40
41
42
43
44
45
46 47 48
49
50
51
998
52
53
54 55
56
57
58
59
60
1
61
62
63 64
65
66
67
68 69 70 71 72 73
View Code

 

实现层 测试类:SayHelloTest4.java

1 package com.it.test; 2  3 import org.junit.Test; 4 import org.springframework.context.ApplicationContext; 5 import org.springframework.context.support.FileSystemXmlApplicationContext; 6  7 import com.it.dao.SayHell; 8 import com.it.dao.impl.SayHelloImpl4; 9 10 public class SayHelloTest4 {11     12     ApplicationContext applicationContext =new FileSystemXmlApplicationContext("resources/setList.xml");13     @Test14     public void testListSet(){15         SayHell sayHell =  applicationContext.getBean("listBean",SayHell.class);16         sayHell.sayHello();17         18         SayHelloImpl4 sayHell4 =  (SayHelloImpl4) applicationContext.getBean("mapBean");19         sayHell4.sayMapGood();20         21         22         SayHelloImpl4 sayHell42 =  (SayHelloImpl4) applicationContext.getBean("mapBean2");23         sayHell42.sayMapGood2();24     }    25 }
View Code

 

实现效果:

 

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

你可能感兴趣的文章
企业中最佳虚拟机软件应用程序—Parallels Deskto
查看>>
Nginx配置文件详细说明
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>
solr-4.10.4部署到tomcat6
查看>>
切片键(Shard Keys)
查看>>
淘宝API-类目
查看>>
virtualbox 笔记
查看>>
Git 常用命令
查看>>
驰骋工作流引擎三种项目集成开发模式
查看>>
SUSE11修改主机名方法
查看>>
jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
查看>>
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>