- 1、本文档共7页,可阅读全部内容。
- 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原理讲解.doc
第讲 Spring原理
本讲目标:
掌握Spring依赖注入的原理
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):是类与类之间的连接,依赖总是单向的。依赖关系代表一个类依赖于另一个类的定义。
IoC 控制反转(Inversion of Control)
所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。
这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
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
方法二:Hibernate添加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
该配置
您可能关注的文档
最近下载
- 品牌策划与推广实战PPT全套完整教学课件.pptx
- 概率论与数理统计课件-全概率与贝叶斯公式.ppt VIP
- 炒茶机及其系统设计.doc
- The Pricing of Options and Corporate Liabilities期权定价与公司负债.pdf
- (概率论与数理统计)全概率公式与贝叶斯公式.ppt VIP
- 新人教(pep)四年级英语下册Unit4 At the Farm A. Let's talk 说课稿.doc
- 职业教育课程建设人工智能赋能的改革研究.docx VIP
- 公司出纳年终工作总结6篇.docx VIP
- (完整word版)AAO工艺设计计算.doc VIP
- 《秘书工作理论与实务》课件——第一章 秘书办文工作.pptx VIP
文档评论(0)