JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础-控制反转2.ppt

JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础-控制反转2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
框架程序设计java 框架程序设计java 框架程序设计java * * 第6章 Spring框架基础 之控制反转2 框架程序设计(Java) * 6.0学习目标 DI配合接口编程 4 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 回顾Spring的优点 低侵入式设计,代码污染极低 Write Once, Run Anywhere DI有效的降低了耦合度 AOP提供了通用任务的集中管理 ORM和DAO简化了对数据库访问 高度开放性,并不强制 对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、myBaits等,这样更便于应用的开发 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 例1:完成一个字母大小写转换的案例 将字母转化为大写工具类: public class UpperLetter { //将字母转化为大写 public String change(String letter){ return letter.toUpperCase(); } } 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 将字母转化为小写工具类: public class LowerLetter { //将字母转化为小写 public String change(String letter){ return letter.toLowerCase(); } } 现在用户希望将一串字母转化为大写,因此我们将UpperLetter类配置到Spring容器中,如下: bean id=changeLetter class=service.UpperLetter /bean 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 将一串字母转化为大写的代码如下所示: String letter=abCdRg; //初始化容器上下文 ApplicationContext context=new ClassPathXmlApplicationContext(applicationContext.xml); //从spring容器中获取bean,并强制转化为bean的实际类型 UpperLetter service=(UpperLetter)context.getBean(changeLetter); //调用方法 String result=service.change(letter); System.out.println(result); 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 某一天,用户的需求发生了改变,不需要转化为大写了,需要转化为小写: 分为两步来解决 1、修改bean的配置 bean id=changeLetter class=service.LowerLetter /bean 2、修改代码: //从spring容器中获取bean,并强制转化为bean的实际类型 LowerLetter service=(LowerLetter)context.getBean(changeLetter); 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 以上的解决方案,既要修改spring的配置文件,又要修改代码,原因就是在我们的main方法中,与具体的字母大小写转换类产生了强耦合(也就是直接关联) 思考一下:如何解除这种强耦合呢? main函数 LowerLetter UpperLetter 直接关联 main函数 LowerLetter UpperLetter ChangeLetter接口 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 具体在代码中如何进行解耦呢?分为如下步骤: 1、创建一个接口ChangeLetter public interface ChangeLetter { //将字母进行大小写转换 public String change(String letter); } 2、将UpperLetter和LowerLetter分别实现这个接口 3、代码修改如下: //从spring容器中获取bean,并强制转化为bean的实际类型 ChangeLetter service=(ChangeLetter)context.getBean(changeLetter); 如上处理之后,无论用户再怎么变化需求,都不用修改代码,只需修改配置文件即可,完成解耦 软件工程系本科课件 框架程序设计java * 6.4DI配合接口编程 以上例子就是DI配合接口编程的一个简单的例子,从这个例子中我们可以看出“DI有效的降低了耦合度”

您可能关注的文档

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档