- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7讲Spring原理
第7讲 Spring原理
本讲目标:
掌握Spring依赖注入的原理
掌握Spring AOP原理
spring简介
Spring是一个开源框架,Rod Johnson创建。 基于控制反转(Inversion of Control ,IoC)和面向切面(Aspect Oriented Programming , AOP)的容器框架。Spring 致力于J2EE 应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说 Spring 是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring 并不想取代那些已有的框架,而与它们无缝地整合。
目标: 使现有技术更加易用,简化企业开发。
内容: 依赖注入容器,AOP实现(声明式事务), DAO/ORM支持,Web集成
使用Spring好处:
降低组件之间的耦合度, 使各层间松耦。
可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。
非侵入性,对Spring API的依赖减少到最低。
AOP技术,很容易实现如权限拦截、运行期监控等功能。
提供众多辅作类,加快应用的开发,如: JdbcTemplate、 HibernateTemplate。
对于主流的框架提供集成支持,如:JDBC、Hibernate、Struts等,更便于开发。
依赖注入
依赖关系(Dependency)对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。 依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数类型是ClassB;??这种情况成为耦合;b、ClassA中某个方法的参数类型是ClassB的一个属性;?这种情况成为紧耦合;c、ClassA中某个方法的实现实例化ClassB;d、ClassA中某个方法的返回值的类型是ClassB;如果出现了上述四种情况之一,两个类很有可能就是“依赖”关系。依赖关系(Dependency):是类与类之间的连接,依赖总是单向的。依赖关系代表一个类依赖于另一个类的定义。
这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
public class UserBizImpl {
private UserDao userDao = new UserDaoImpl();
public void save(User user){
userDao.save(user);
}
}
userDao是在应用内部创建及维护的。
依赖注入(Dependency Injection)
当我们把依赖对象交给外部容器负责创建,那么UserBizImpl 类可以改成如下:
public class UserBizImpl {
private UserDao userDao ;
//通过构造器参数,让容器把创建好的依赖对象注入进UserBizImpl,
public UserBizImpl(UserDao userDao){
this.userDao=userDao;
}
//也可以使用setter方法进行注入
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
public void save(User user){
userDao.save(user);
}
}
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。(这里通过构造器注入UserDao )
spring实现依赖注入
运行类库
方法一:到/download下载spring,然后进行解压缩,在解压目录中找到下面jar文件,拷贝到类路径下
dist\spring.jar
lib\jakarta-commons\commons-logging.jar
方法二:Myeclipse添加spring支持
项目右击—myeclipse—add spring capabilities
添加spring的配置文件(命名空间)
?xml version=1.0 encoding=UTF-8?
beans xmlns=/schema/beans
xmlns:xsi=/2001/XMLSchema-instance
xsi:schemaLocation=
/schema/beans /schema/beans/spring-beans-2.0.xsd
/beans
该配置模版可以从spring的参考手册(docs\reference\html_single\index.html)
或spring的
您可能关注的文档
- 2011年党风廉政建设责任制工作报告.doc
- 虚拟8086模式.doc
- 问题集2级第8课.doc
- IPSAN之EquallogicPS3000配置实战_20101028.doc
- 全等、相似三角形.doc
- 二轮专题复习圆锥曲线教学案.doc
- 经济管理系第一届趣味运动会策划书.doc
- 2009年太阳能十项全能竞赛伊利诺伊大学代表队.ppt
- WI-TE-087电镀锌钢板及钢带检查标准.doc
- 典型课例教.doc
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)