spring基础功能分享.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spring基础功能分享

L/O/G/O 《spring基础功能分享》 (HDC) 2011-12-15 Spring是一个非常优秀的开源产品,我记得在04年的时候,在国内突然冒出很多可供JAVA开发者使用的优秀开源产品,比如webwork,struts,spring,ibatis,hibernate等等,到现在为止,这些开源产品的版本都算比较稳定了。很多现有的开源产品,或则刚诞生和发展起来的开源产品,几乎每一款都能兼容Spring,或则和Spring搭档. Spring提供的内容很广,某些章节的内容也很深,一般来讲,它包括有如下的这些模块构成: 1、核心容器:Spring核心容器为Spring框架提供了基础功能,在这里,查看源码,你会发现有一个特别的类:BeanFactory,它是最基本的Spring容器和DI所依赖的基础。 2、Application Context(应用上下文)模块:他是建立在核心容器之上。这个应用上下文扩展了BeanFactory类,添加了一些别的应用支持,比如I18N(国际化)、应用生命周期事件(比如BeanPostPorcessor接口)等。 3、AOP模块:与DI一样,它支持应用对象之间的松耦合,也是我们开发程序时一直追求的方式。 4、JDBC抽象及DAO模块:jdbcTemplete模板 5、ORM映射集成模块:支持hibernate,jpa,ibatis等框架的持久化模板 6、Spring MVC框架:类似于STRUTS\WEBWORK框架,拥有(model/view/controller) 7、Spring Portlet MVC 8、Spring Web模块 9、远程调用,包括RMI,Hessian,Webservice等 10、JAVA消息服务,支持很多开源消息产品,比如apache activeMQ,MuleESB,JbossMQ等。 11、。。。。。。 今天,我们就挑选Spring在我们的应用开发中最常被使用的模块来讲解一下:DI和AOP,数据持久化。 DI介绍 我们首先来看一个截图,搞JAVA开发的,都非常清楚如下的这个代码,这是非常典型的数据源配置: 这个代码其实包含了2个概念: 1、参数的注入:比如字符串:java:comp/env/jdbc/sample 2、bean之间的依赖注入:ref local=dataSource/ 其中SampleDAO中的dataSource将由容器在运行期动态注入,而DataSource的具体配置和初始化工作也将由容器在运行期完成。对比传统的实现方式(如通过编码初始化DataSource实例),我们可以看到,基于依赖注入的系统实现相当灵活简洁。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定SampleDAO中所需的DataSource实例。上面的实例中,我们假设SampleDAO是一个运行在J2EE容器中的组件(如Weblogic)。在运行期,通过JNDI从容器中获取DataSource实例。现在假设我们的部署环境发生了变化,系统需要脱离应用服务器独立运行,这样,由于失去了容器的支持,原本通过JNDI获取DataSource的方式不再有效。我们需要如何修改以适应新的系统环境?很简单,我们只需要修改dataSource的配置: ??? 对于DI,常见的有如下几种: 1、基本数据类型的set方法注入: public class User { private int userid; private String username; private String password; //为这些属性添加相应的getter和setter } 配置文件: bean id=user class=com.wadata.inject.User property name=userid value=1/property property name=password value=pass_word/property property name=username value=tom/property /bean 测试类: User user = (User)context.getBean(user); (注意,spring不一定要让你拥有跟配置文件对应的属性,但一定要拥有配置文件属性所对应的set方法) 2、基本数据类型的构造器注入(构造方法): 为刚才的User添加一个构造方法 public User(String username, String password) { this.username = username; this.password =

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档