视频看完有段时间了,一直在总结,看了别人的不少总结,感觉都写的很好,不过很多都是注重了知识点的总结,缺少宏观上的指导,比如:Spring里出名的IoC容器,只说了它的概念,然后给个代码的示例就算完成总结了。我觉得总结就应该像老师经常说的那样,先宏观上说说,然后再具体介绍知识点,甚至是具体的知识点可以简单的说说就行,因为那些个知识点在帮助文档里介绍的很详细了,用的时候查一下就OK。
下面就SSH里的Spring谈谈它究竟哪儿好?为什么有人要在项目里使用它?它能给我们带来什么?其实也不完全是出自我个人的工程经验,大都是看别人的总结把我认为不错的地方加以修改总结到一起的,希望能够给大家带来帮助,也希望正在学习Spring的同志们能够受到一点启发,同时也是给自己留着以后回顾的时候可以看看。
Spring为何而生?
开发人员都知道Java EE框架下企业级开发采用EJB框架存在一些不足:
1、 EJB比较笨重,而且Entity EJB不能脱离容器
2、 企业级服务使用比较困难
3、 开发的复杂度也比较高
4、 它是侵入式方案设计,EJB需要使用特定的接口
为了优化解决这些个问题,Spring就应用而生了…
Spring有哪些作用,为什么要用它?
1、 简化了企业级开发
a) 封装了大部分的企业级服务,提供了更好的访问这些个服务的方式
b) 提供了IoC、AOP等功能的容器,实现松耦合,更加方便编程和维护
2、 遵守Spring框架的应用程序,一般都是设计良好的针对接口编程,这样可以简化企业级程序的设计。
3、 Spring的基本结构(看图)
a) SpringCore:核心容器,提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
b) SpringContext:ApplicationContext,扩展核心容器,提供事件处理、国际化等功能。它提供了一些企业级服务的功能,如提供了JNDI,EJB,RMI的支持。
c) SpringAOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB组件,就可以将声明性事务管理集成到应用程序中,我们主要应用的就是它的声明式事务的能力。
d) SpringDAO:JDBC 、DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
e) Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JPA、TopLick、OJB、JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
f) SpringWeb 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
g) SpringMVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
总结:Spring对企业级服务进行了进一步的封装,简化了企业级开发。同时采用它也就意味着进行了良好的分层设计,并保证了面向接口编程,加上它的IoC和AOP容器的优势,更加方便我们后期的维护工作,但是由于容器大量的使用反射机制装配对象,一定会影响性能,对于一些高并发的大型应用我们还是要慎用。
分享到:
相关推荐
内容如下: spring.rar [spring_aop1] [spring_aop2] [spring_aop3] [spring_aop4] [spring_autowire_byName] [spring_autowire_byType] [spring_beginning] [spring_hibernate_1] [spring_hibernate_2] ...
很好的一个spring教程很好的一个spring教程很好的一个spring教程很好的一个spring教程很好的一个spring教程很好的一个spring教程很好的一个spring教程很好的一个spring教程
好的spring
spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud...
SpringBoot和SpringCloud视频,非常好的一个视频,里面有源码和课件
spring in action & 精通spring
个人觉得spring3.2的源代码比较好编译,没啥脾气,像我之前下载的spring的最新版本源代码,还有spring4.0的源代码,不论是使用jdk1.6还是1.7甚至是1.8编译都出问题,结果还是觉得spring3.2编译过程轻松一点,配合...
springcloud视频学习,学习springcloud推荐的视频,讲的真的很好
最重要的是, 跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。 SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务...
9) spring -hibernate.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar 10) spring-orm.jar需spring-core.jar,...
学习spring的好东西
springcloud视频学习,学习springcloud推荐的视频,讲的真的很好.
在这篇文章里对于SpringXML配置我将向你展示12种比较好实战其中些实战不仅是好实战更是必要实战除 此以外还有其他原因例如领域模型设计都能影响XML配置但是这篇文章重点研究XML配置易读性和易管理性
此为很有人气的Gossip的学习笔记,里面深入浅出的讲解了关于spring框架的知识与学习心得,是理解spring的不可多得的好资料。 此资料为html形式,每个知识点单独列为一张html页面,阅读很方便,不需要pdf格式下的阅读...
编译好的Spring的eclipse工程!Spring源码,eclipse安装groovy直接导入就行了!
它是一个基于IOC和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了...
springcloud视频学习,学习springcloud推荐的视频,讲的真的很好
一本很好的Spring好书和spring的API学习,非常适合深入学习spring的程序员,写的通俗易懂而且由浅入深!!!
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
spring cloud视频教程 spring cloud视频教程 很好的 赶快来下载把