SSM之Spring

Spring是一个开源的,轻量级的应用开发的框架,其目的是用于简化企业级应用的开发,减少侵入。Spring的核心是IOC容器,DI依赖注入。Spring发明的主要目的能够使我们使JavaEE更容易使用

Spring工作流程(异步为例)

整个请求从HTTP开始,HTTP找到前端的总控制器DispatchServlet,然后根据DispatchServlet找到HandlerMapping处理器映射(HandlerMapping主要负责请求和处理对应的关系)然后找到对应的Controller处理器返回数据对象@ResponseBody使用Gson/Jackson工具包,将对象转换成JSON字符串并响应输出JSON字符串,由Ajax回调函数,最后显示给用户

Spring功能的主要做用

SpringIOC

可以这样说IOC并不是一种技术,可以毫不犹豫的说他是一种编程的思想,一个重要的面向对象的编程法则。那么没有使用Spring之前我们通常在类中创建依赖的对象,这样的话不利于我们Java编程的思想,Java编程在一定程度上追求的是“高内聚,低耦合”,那么在类中自主的创建依赖对象很明显的是不满足的,SpringIOC出现就解决了这一问题,我们就可以把创建和查找的权限都交给了我们的IOC容器进行注入,那么类和类之间的话减少了依赖关系,更好为我们提供了测试环境,也可以方便的为我们对代码的维护和可扩展性。那么对于整个程序来说因为有了SpringIOC整个体系都显得非常的灵活,IOC对于我们编程来说最大的改变不是在技术上而是在思想上。程序本来为主需要什么内容主动去获取。那么现在有了IOC/DI,我们的程序就变得被动起来,需要去等待我们的IOC/DI去创建并且注入程序本身需要的资源

IOC的类型 基于特定的接口 基于SET方法 基于构造器

SpringAOP

SpringAOP面向切面编程,那么他的出现就是更好的帮助Java的OOP思想(面向对象编程)更好的补充和完善

那么AOP出现为什么说是对OOP思想的完善和补充呢,OOP引入了封装,多态,继承等概念性的东西对象层次结构的东西,OOP允许你定义上下关系 而对于左右没能够很好的完善例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。那么可能导致重复的代码增加不利于代码的重用性。也加深了各个模块之间的依赖,那么SpringAOP就利用了这一横切的技术解决了这一问题去剖开我们对象的内部,并且把那些那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

Spring中的Bean

Spring中的Bean就是好像Spring提供一个简便的方法来调用这个组件去实现你要完成的功能

-------------------------------------------------------------------暂停

猜你喜欢

转载自www.cnblogs.com/liulei0919/p/9258556.html