版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内部最核心的就是IOC 了,动态注入,让一个对象的创建不用 new 了,可以自动的生产,这其实就是利用java里的反射反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的。Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象进行监督和控制(也就是在调用这类对象的具体方法的前后去调用你指定的模块)从而达到对一个模块扩充的功能。这些都是通过配置类达到的。Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置内部通过反射
2、去动态的组装对象)要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)Spring里的配置是很多的,很难都记住,但是 Spring里的精华也无非就是以上的两点,把以上两点跟理解了也就基本上掌握了 Spring.Spring AO百 IOC一、 IoC(Inversion of control):控制反转1、IoC:概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系核心:bean工厂;在Spring中,bean工厂创建
3、的各个实例称作 bean、AOP(Aspect-Oriented Programming):面向方面编程1、代理的两种方式:静态代理:针对每个具体类分别编写代理类;针对一个接口编写一个代理类;动态代理:针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类我来跟你说说Spring。那些概念性的表述我就不说了,说点自己的理解,我曾经看过部分源码。以前,我们学java,是在桌面上应用的,接触了 web开发,学会了 jsp、servlet.我们在页面上如果要调用一个对象,调用一个方法,肯定首先 要new一个,然后再用代码去完成这个逻
4、辑。servlet完全的代码输出,jsp加入了标签,省去了一些常用的标签。spring 是干嘛呢,你可以理解就是一个大的容熔炉,他把所有要去用到的逻辑代码作为标签一样放到他的bean工厂里,每个bean取个名字。管理全部交给容器去处理了,你不要再去new 了,再去硬代码了。每个类之前的引用,我们可以在容器中去配置,让容器去处理,哪个类作为哪个类的属性,这个就叫注入。spring既然是一个大的容器,那么他就站在一个高度,俯视着所有用到的java对象以及对象里的方法。那么就很容易对方法排排队、做做分类。一个人的对象,他有 个方法叫吃法。我们能俯视一切,当然就可以管理这个对象,你要吃饭前,要报告:我
5、吃饭了。吃饭后,要说:我吃饱 了。在做真正的事情前,我可以间隙插入一些额外的事情,当然这些事情肯定是使用spring的人对他做的设置。这个就是AOP的概念。有点像c的hook,这是基于java反射实现的。这些是spring的基本,如果还要延伸的话,那就是springMVC。spring是类的大容器,可想他的能力有多大。如果有新的类,第三方插件,我们不用再要代码了,直接在 spring 上配置下,就能调用它了,是不是很方便。Spring工作流程如下:请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。查询一个或多个HandlerMa
6、pping,找到I处理请求的Controller.请请求提交到目标Controller进行业务逻辑处理后,会返回一个 ModelAndView查询一个或多个 ViewResolver视图解析器,找到ModelAndView对象指定的视图对象6.视图对象负责渲染返回给客户端。优点:1 .使用Spring的IOC容器,将对象之间的依赖关系交给 Spring,降低组件之间的耦合性,让我们更专注于应用逻辑2 .可以提供众多服务,事务管理,WS等。的很好支持,方便面向切面编程。4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JP瞪DI机制降低了业务对象替换的复杂性。属于低侵入
7、,代码污染极低。的高度可开放性,并不强制依赖于Spring开发者可以自由选择Spring部分或全部之前在做项目中遇到spring无法进行事务代理问题,最后发现是因为没有写接口,原因当时明白了,看到这篇文章写的清楚些,转过来我们先来分析一下Spring事务管理机制的实现原理。由于Spring内置AOP默认使用动态代理模式实现,我们就先来分析 一下动态代理模式的实现方 法。动态代理模式的核心就在于代码中不出现与具体应用层相关联的接口或者类引用,如 上所说,这个代理类适用于任何接口的实现。下面我们来看一个例子。下面我们来分析一下上述代码的关键所在。首先来看一下这段代码:方法根据传入的接口类型()动态构造一个代理类实例返回,这也说明了为什么动态代理实现要求其所代理的对象一定要实现一个接口。这个代理类实例在内存中是动态构造的,它实现了传入的接口列表中所包含的所有接口。再来分析以下代码:方法将在被代理类的方法被调用之前触发。通过这个方法,我们可以在被代理类方法调用的前后进行一些处 理, 如代码中所示,方法的参数中传递了当前被调用的方法( Method),以及被调用方法的参数。同 时,可以通过方法调用 被代理类的原始方法实现。这样就可以在被代理类的方法调用前后写入任何想要进行的操作。Spring的事务管理机制实现的原理,就是通过这样一个动态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国导向销行业头部企业市场占有率及排名调研报告
- 2025年全球及中国古董搬运行业头部企业市场占有率及排名调研报告
- 2025-2030全球双膜储气罐行业调研及趋势分析报告
- 2025-2030全球环保EPDM颗粒行业调研及趋势分析报告
- 2025-2030全球坏死性筋膜炎药品行业调研及趋势分析报告
- 2025-2030全球车辆后备箱释放电缆行业调研及趋势分析报告
- 2025-2030全球光伏舟托行业调研及趋势分析报告
- 2025-2030全球被动智能纺织品行业调研及趋势分析报告
- 2025年全球及中国IP65工业显示器行业头部企业市场占有率及排名调研报告
- 2025-2030全球短距激光雷达行业调研及趋势分析报告
- 第十一章《功和机械能》达标测试卷(含答案)2024-2025学年度人教版物理八年级下册
- 2025年销售部年度工作计划
- 2024年苏州工业园区服务外包职业学院高职单招职业适应性测试历年参考题库含答案解析
- ESG表现对企业财务绩效的影响研究
- DB3713T 340-2024 实景三维数据接口及服务发布技术规范
- 八年级生物开学摸底考(长沙专用)(考试版)
- 车间空调岗位送风方案
- 使用错误评估报告(可用性工程)模版
- 初一年级班主任上学期工作总结
- 2023-2024年同等学力经济学综合真题及参考答案
- 农村集体土地使用权转让协议
评论
0/150
提交评论