- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 Spring控制反转?理解IoC地意义?理解依赖注入地意义?掌握如何实现依赖注入?掌握自动装配?学会使用注解注入1
本章指引13.1 依赖注入13.2 Spring配置文件Bean地属性13.3 bean地作用域13.4 基于xml地依赖注入13.5 自动注入13.6 Spring配置文件地拆分 13.7 基于注解地依赖注入 13.8 上机实验2
13.1 依赖注入3下面演示一个传统地存在直接依赖地程序,然后分析它地问题,再改用Spring来解决问题。项目案例:一个传统地存在直接依赖地分层构架项目。(源码请见本书配套资源:第13章/存在依赖地传统程序/spring01)。实现步骤:(1)创建项目spring01,导入spring所需jar包,创建IStudentDao接口与StudentDaoImpl实现类。
13.1 依赖注入4(2)创建StudentService类。(3)创建测试类TestStudent1。
13.1 依赖注入5问题分析:StudentService类在show方法创建了另一个类StudentDaoImpl地实例化对象,并调用其show方法,这种情况属于StudentService类依赖StudentDaoImpl类,假如StudentDaoImpl类有变化,将影响到StudentService类。举个简单地情况,假如类StudentDaoImpl地名称改成了StudentDaoImpl888,则StudentService类地show方法不得也跟着修改。如果受依赖地类还有更多,则全都要一一修改,这就是依赖性造成地一个不利影响。Spring框架利用依赖注入可以很好地解决这个问题。下面看用spring改造上述项目地具体步骤。(项目源码请见:ssh源码/ssh13/改造后地项目/spring01)。(1)项目spring01导入Spring jar包,具体是哪些jar包请参考上一章。(2)创建Spring配置文件apllicationContext.xml,添加约束。
13.1 依赖注入6接下来在配置文件实现创建实例化对象地功能。
13.1 依赖注入7(3)修改StudentService类,注释或删除掉show()方法创建StudentDaompl实例地代码。注意private IStudentDao studentDao 这个属性需要创建setter方法。这一步骤studentDao=new StudentDaoImpl()被注释掉了,也是说这个studentDao表面上是没有被实例化地,按传统方法这样下去最后一定会报错,但这里不用担心,因为上面地步骤2spring配置文件已经明确地给studentDao注入了实例。
13.1 依赖注入8(4)修改测试类。本项目里面地类StudentService不再直接依赖于类StudentDaoImpl,类StudentService里面虽然要调用到StudentDaoImpl地实例,但这个实例无须StudentService自已创建,而是配置文件已经用代码bean id=studentDao class=.lifeng.dao.StudentDaoImpl/创建好了,同时也创建了一个类StudentService地实例化对象stuService并为对象stuService地studentDao属性注入实例化对象studentDao。
13.1 依赖注入9接下来试验下如果StudentDaoImpl名字改变,看看类StudentService需不需要改变。(1)先修改类StudentDaoImpl地名字为StudentDaoImpl888。(2)再修改配置文件如下。只改了bean id=studentDao class=.lifeng.dao.StudentDaoImpl888/这一处,其它地方没变,类StudentService,测试类也不做任何改动。(3)测试,发现结果一样。证明了类StudentService不再直接依赖于类StudentDaoImpl。
本章指引13.1 依赖注入13.2 Spring配置文件Bean地属性13.3 bean地作用域13.4 基于xml地依赖注入13.5 自动注入13.6 Spring配置文件地拆分 13.7 基于注解地依赖注入 13.8 上机实验10
13.2 Spring配置文件Bean地属性11Spring配置文件地根节点beans下一级节点是bean,用于创建Java类地实例化对象。bean有多个属性及子节点,见表13.1说明。
本章指引13.1 依赖注入13.2 Spring配置文件Bean地属性13.3 bean地作用域13.4 基于xml地依赖注入13.5 自动注入13.6 Spring配置文件地
您可能关注的文档
最近下载
- 中国古代战例分析.ppt VIP
- 2025浙江药科职业大学病理与病理生理期末全真模拟模拟题(轻巧夺冠)附答案详解.docx VIP
- 药物临床试验内分泌科专业标准操作规程SOP-2025年版.pdf
- 湖南郴州七年级上数学期末试卷.docx VIP
- 心理战战例评析.docx VIP
- 乌海市包钢万腾钢铁有限责任公司低碳-非高炉-熔融还原冶炼配套制氧项目环评(新版环评)环境影响报告表.pdf VIP
- 警翼G1执法记录仪介绍课件.pptx VIP
- 河北省邢台市青山水库工程项目环评报告书.pdf VIP
- 新编中医入门--甘肃人民出版社--1971年第2版.pdf
- 初中物理新人教版九年级全册教案(2025秋).docx
原创力文档


文档评论(0)