- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 =
您可能关注的文档
- Java测试3答案.doc
- ztesoft卷1.doc
- TP2-基本语法.ppt
- 动态规划法解最长公共子序列(计算机算法设计与分析实验报告).doc
- 北邮-Java技术-阶段一.docx
- 第4章 初始化和清理.ppt
- 第03章 字符串.ppt
- 第06章 高级语言特征.doc
- 深入Java类.ppt
- 虚方法和重写方法.ppt
- 2025年天津市冷链物流基地配套道路建设可行性研究报告.docx
- 2025年天津市母婴护理会所专业化服务升级路径可行性研究报告.docx
- 2025年成都市私立医院医美抗衰中心创建可行性研究报告.docx
- 2025年成都市淡化海水在城市道路清洗领域的应用可行性研究报告.docx
- 2025年上海市环卫厨余垃圾生物处理技术应用可行性研究报告.docx
- 2025年天津市花西子针对户外运动妆容的可行性.docx
- 2025年上海市生物发电于秸秆炭化还田协同发电的可行性研究.docx
- 2025年天津市物造纸在可降解农用地膜领域的应用可行性研究报告.docx
- 2025年天津市无人值守充电站智能运维可行性研究报告.docx
- 2025年天津市竹荪种植连作障碍防治技术可行性研究报告.docx
最近下载
- 地理●北京卷丨北京市2023年普通高中学业水平等级性考试地理试卷及答案.docx VIP
- 最新附合导线平差计算表Excel自动计算.xls VIP
- 拆卸电梯施工方案.docx VIP
- Power Up教材配套测试一级别期末测试.pdf VIP
- 14外国文学名著-中考英语时文阅读练习(含答案解析).doc VIP
- JTG 3441—2024 公路工程无机结合料稳定材料试验规程.docx VIP
- 附件:《环境空气温室气体及其示踪物(CO2、CH4、N2O和CO)光腔衰荡光谱法连续自动监测系统运行和质控技术指南》.pdf VIP
- 一至六年级语文复习资料.pdf VIP
- 【简便计算】小数乘除法简便计算专项练习人教版五年级上册数学(含解析).pdf VIP
- 备战2023年英语中考作文真题(书面表达)黄金模板05 解决问题型议论文.pdf VIP
文档评论(0)