




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spring三种bean注入方式 博客分类: springjavaspringbean注入方式依赖注入Spring中依赖注入有三种注入方式:一、构造器注入;二、设值注入(setter方式注入);三、Feild方式注入(注解方式注入)。一、构造器注入 构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。废话不多说,直接上代码。Java代码 1. packagecn.glzaction.service.impl;2. 3. importjava.util.List;4. 5. erfaces.PersonDaoIF;6. erfaces.PersonServiceIF;7. 8. publicclassPersonServiceBeanimplementsPersonServiceIF9. 10. /自定义类11. privatePersonDaoIFpersonDaoBean;12. /String类型13. privateStringname;14. /集合类型15. privateListlist;16. 17. /构造器18. publicPersonServiceBean(PersonDaoBeanpersonDaoBean,Stringname,Listlist)19. this.personDaoBean=personDaoBean;20. =name;21. this.list=list;22. 23. /方法,用于显示24. publicvoiddisplay()25. personDaoBean.add();26. System.out.println(name);27. System.out.println(list);28. 29. package cn.glzaction.service.impl;import java.util.List;import erfaces.PersonDaoIF;import erfaces.PersonServiceIF;public class PersonServiceBean implements PersonServiceIF/自定义类private PersonDaoIF personDaoBean;/String类型private String name;/集合类型private List list;/构造器public PersonServiceBean(PersonDaoBean personDaoBean,String name,List list)this.personDaoBean = personDaoBean; = name;this.list = list;/方法,用于显示public void display()personDaoBean.add();System.out.println(name);System.out.println(list);上面的代码中构造器要注入三个参数,同时这三个参数也是三种不同的类型,自定义类、String类型,集合类型,其中自定义类PersonDaoBean 具体的实现我们这里就不累述了,因为这不是重点。下面我们再来看一下在Spring的配置文件中如何来配置。Xml代码 1. 2. 3. 4. 5. 6. 7. 8. 9. list110. list211. list312. 13. 14. list1list2list3 java代码如何实现构造器我想大家一定都很清楚,否则的话就有点讲不过去了,呵呵,所以这里我也就不加以说明了,主要说一下上面的xml配置。id为“personDao”的bean是PersonServiceBean的私有属性,它的注入是采用无参构造器的注入方式注入的,这也不详细说明。主要说一下id为“personService”类的构造器注入。是构造器标签元素,通过设定它的属性可以往构造器传递参数,index属性值表示要设定的参数在构造器形参中的索引顺序,例如上面的配置,list是第三个参数,所以它对应的索引为2,index是可选属性,所谓可选并不是说在任何情况下都可以不使用,要视具体情况而定,type为参数的类型,这个也是可选参数。还有两个很重要的属性就是ref和value,如果注入的是bean,就要使用ref,ref的值就是对应的bean。如果注入的是基本类型或者string类型就用value,直接将对应的值填入即可。二、设值注入(setter方式注入)设值注入就是通过setXxxx方法将bean注入到组件中,自定义类如下Java代码 1. packagecn.glzaction.service.impl;2. 3. erfaces.PersonDaoIF;4. importjava.util.*;5. 6. publicclassPersonDaoBeanimplementsPersonDaoIF7. 8. privateStringname;9. 10. privateIntegerid;11. 12. privateListlist;13. 14. privateMapmap;15. 16. publicvoidsetName(Stringname)17. =name;18. 19. publicvoidsetId(Integerid)20. this.id=id;21. 22. publicvoidsetList(Listlist)23. this.list=list;24. 25. publicvoidsetMap(Mapmap)26. this.map=map;27. 28. 29. Override30. publicvoidadd()31. /TODOAuto-generatedmethodstub32. System.out.println(map);33. System.out.println(list);34. System.out.println(id);35. System.out.println(name);36. 37. package cn.glzaction.service.impl;import erfaces.PersonDaoIF;import java.util.*;public class PersonDaoBean implements PersonDaoIF private String name;private Integer id;private List list;private Map map;public void setName(String name) = name;public void setId(Integer id) this.id = id;public void setList(List list) this.list = list;public void setMap(Map map) this.map = map;Overridepublic void add() / TODO Auto-generated method stubSystem.out.println(map);System.out.println(list);System.out.println(id);System.out.println(name);采用设置注入只要有setter方法即可,但是有时由于编程习惯也会讲getter方法引进,但是要清楚:设值注入与getter方法无关。这里还有一点需要注意,那就是能使用基本类型,如果非要使用基本类型的话就要使用其对应的包装类型,如上面使用的是Integer而不是int。Spring的xml配置如下:Xml代码 1. 2. 3. 4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年住院医师规培-江苏-江苏住院医师规培(内分泌科)历年参考题库含答案解析(5套)
- 茶叶行业运营面试常见问题及答案解析
- 2025年事业单位工勤技能-重庆-重庆汽车驾驶与维修员四级(中级工)历年参考题库典型考点含答案解析
- 项目管理面试题及答案探讨
- 战略规划与执行面试题及答案
- 市场营销类面试题及答案解析
- 八局财务团队面试常见问题及答案解析
- 施工现场人员安全防护及急救方案
- 风电场风机维护保养方案
- 2025年郑铁单招铁路试题及答案
- CJ/T 3085-1999城镇燃气术语
- 停产报告管理制度
- DB31/T 636.2-2015会议经营与服务规范第2部分:会议场所服务机构
- 云南二级建造师b证试题及答案
- 电解铝公司工程项目投资估算
- 钣金工考试试题及答案
- 2025护士招聘笔试题目及答案
- 沟通与策略式家庭治疗
- 合同质保期更改补充协议
- GB/T 45381-2025动梁式龙门电火花成形机床精度检验
- 防腐涂层新技术及其应用前景
评论
0/150
提交评论