- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Spring轻量级容器架构
Spring最常用的特性利用Spring来创建对象(JavaBean工厂)利用Spring构建业务逻辑层管理依赖关系适应需求变更利用Spring创建数据访问对象(DAO)利用Spring进行事务处理
Spring的安装下载并解压将相应的jar包加入类路径spring.jar配置SpringApplicationContext.xml体验Spring的最基本特性-BeanFactory
创建Sample类及其Spring配置文件Sample.javapublicclassSample{ publicintcompute(inti,intj){ returni+j; }}ApplicationContext.xml?xmlversion=1.0encoding=UTF-8?!DOCTYPEbeansPUBLIC-//SPRING//DTDBEAN//ENbeansbeanid=“sample”class=“com.bjsxt.spring.Sample”//beans
创建测试程序ClientTest.javapublicclassClientTest{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //获取BeanFactory BeanFactorybeanFactory=newClassPathXmlApplicationContext(applicationContext.xml); //从容器中获取Sample对象 Samplesample=(Sample)beanFactory.getBean(sample); //调用Sample对象的方法 intresult=pute(3,4); System.out.println(result); }}
针对接口编程的原则重要的设计原则:针对接口编程,而不要针对实现编程思考:compute方法功能需求变更?针对接口编程的目的:降低耦合度,增强应用程序的稳定性让Sample类变成接口
Sample接口及其实现接口定义publicinterfaceSample{publicintcompute(inti,intj);}接口的实现一publicclassSampleImpl1implementsSample{ publicintcompute(inti,intj){ returni+j; }}接口的实现二publicclassSampleImpl2implementsSample{ publicintcompute(inti,intj){ returni*j; }}ClientTest.java无需改动只需改动ApplicationContext.xml的配置,即可实现实际功能的切换
第二个例子我们已经确定,基于接口编程,是OOD中的重要原则一个层次的实现代码,不应该依赖于另外一个层次的实现代码下面是第二个例子:BookLister,这个例子包括如下几个类:实体类:Book,有名称、作者等属性BookFinder接口,定义了findAll()方法BookLister接口,定义了findBooks(Stringname)方法,以书名作为参数,并返回Book[]数组作为查找的结果以及一个测试客户端BookClient,调用BookLister,来获取所需要的数据
Book.javapublicclassBook{ privateStringname; privateStringauthor; /** *@returnReturnstheauthor. */ publicStringgetAuthor(){ returnauthor; } /** *@paramauthorTheauthortoset. */ publicvoidsetAuthor(Stringauthor){ this.author=author; } //othergetters/setters…}
BookFinderBookFinder接口publicinterfaceBookFinder{ publicListfindAll();}SimpleBookFinderImplpublicclassSimpleBookFinderImplimplementsBookFinder{ /** *@seecom.bjsxt.spring.BookFinder#
文档评论(0)