Spring-Spring概述
Spring概述
Spring是最受欢迎的企业级Java应用程序开发框架。数以百万的来自世界各地的开发人员使用Spring框架来创建好性能、易于测试、可重用的代码。
Spring框架是一个开源的Java平台,它最初是由Rod Johnson编写的,并且在2003年6月手册在Apache2.0许可下发布。Spring是轻量级的。Spring框架的基础版本是2MB左右,Spring框架的核心特性是可以用于开发任何Java程序的,但是在Java EE平台上构建web应用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通过启用POJO编程模型来促进良好的编程实践。
使用Spring框架的好处
下面列出使用Spring框架的主要的好处:
- Spring可以是开发人员使用POJOs开发企业级的应用程序。只是用POJOs的好处是你不需要一个EJB容器产品,比如一个应用程序服务器,但是你可以选择使用一个健壮的servlet容器,比如Tomcat或者一些商业产品。
- Spring在一个单元模式中是有组织的。即使包和类的数量非常大,你可以只要你需要的,而忽略剩余的那部分。
- Spring不会让你白费力气做重复的工作,它真正利用了一些现有的技术,像几个ORM框架,日志框架,JEE,Quartz和JDK计时器,其他的视图技术。
- 测试一个用Spring编写的应用程序很容易,因为environment-dependent代码被放进了这个框架中。此外,通过使用JavaBean-style POJOs,它在使用一类注入注入测试数据时变的更容易。
- Spring的web框架是一个设计良好的WebMVC框架,它为web框架,比如Structs或者其他工程上的或者很少受欢迎的web,提供了一个很好的供替代的选择
- 将特定技术的异常(例如,JDBC,Hibernate,或者JDO抛出的异常)翻译成一致的,Spring提供了一个方便的API,而这些都是未经检验的异常。
- 轻量级的 IOC 容器往往是轻量级的,例如,特别是当与 EJB 容器相比的时候。这有利于在内存和 CPU 资源有限的计算机上开发和部署应用程序。
- Spring 提供了一个一致的事务管理界面,该界面可以缩小成一个本地事务(例如,使用一个单一的数据库)和扩展成一个全局事务(例如,使用 JTA)。
依赖注入(DI)
Spring最认同的技术是控制反转的依赖注入(DI),控制反转(IoC)是一个通用概念,它可以用很多种不同的方式表达,依赖注入仅仅是控制反转的一个具体的例子。
什么是依赖注入:这里讲依赖关系部分转化为两个类之间的关联。例如,类A依赖于类B,注入指的是类B将通过IoC被注入到类A中。
面向方面的程序设计(AOP):
Spring框架的另一个关键组件是面向方面的程序设计(AOP)框架。一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑,有各种各样常见的很好的关于方面的例子,比如日志记录,声明性事物,安全性,和缓存等。
在OOP中模块化的关键单元是类,而在AOP中模块化的关键单元是方面。AOP帮助你讲横切关注点从他们所影响的对象中分离出来,然而依赖注入帮助你将你的应用程序对象从彼此中分离出来。
Spring-Spring概述的更多相关文章
- Spring Integration概述
1. Spring Integration概述 1.1 背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同 ...
- Spring Cloud 概述
1. Spring Cloud 引言 首先我们打开spring 的官网:https://spring.io/ 我们会看到这样一张图片 这个图片告诉我们,开发我们的应用程序就像盖楼一样, 首先我们需要搭 ...
- (转)Spring的概述
http://blog.csdn.net/yerenyuan_pku/article/details/69663685 Spring的概述 什么是Spring 据度娘所载: Spring是一个开源框架 ...
- 微服务与Spring Cloud概述
微服务与Spring Cloud随着互联网的快速发展, 云计算近十年也得到蓬勃发展, 企业的IT环境和IT架构也逐渐在发生变革,从过去的单体应用架构发展为至今广泛流行的微服务架构. 微服务是一种架构风 ...
- Spring IOC 概述
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
- 1.Spring 框架概述
目录 Spring 框架概述 1 我们所说的 "Spring "是什么意思 2. Spring和Spring框架的历史 3. 设计理念 4.反馈和贡献 5.开始使用 Spring ...
- Spring系列之初识Spring Spring概述
初始Spring 啥是Spring? 下面这个就是Spring Spring当然不是上面那个Spring,Spring之所以命名为Spring是因为这个开源的轻量级的开源框架的出现给软件行业带来了春天 ...
- 四、Spring——Spring MVC
Spring MVC 1.Spring MVC概述 Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet负责截获请求并将其分配给响应的处理器处 ...
- Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少
————也许我注定成不了一个伟大的人,但是至少我可以做一个很棒的自己.我想我现在应该做的不是瞻前顾后,而是活在当下,正确认知自己,做好自己现在的工作,努力提升自己的能力,踏踏实实地做一个程序员 一.思 ...
- Spring - Spring Boot - Actuator Web 访问开启
1. 概述 打开 Spring Boot Actuator 的 Web 访问 2. 场景 之前看 Spring 的时候, 曾经想了解当时的配置 后来发现, 确实有这么个工具 刚开始发现, 除了 act ...
随机推荐
- python socket 多人聊天室
参考来源(其实我从上面复制了一点):Python 的 Socket 编程教程 http://www.oschina.net/question/12_76126Python线程指南 http://ww ...
- 1.1 Application Fundamentals - 应用原理
Android应用是使用Java编程语言编写的.Android SDK工具把代码.资源和数据文件编译为一个Android包,这是一个有.apk后缀的压缩文件.一个单独的.apk文件里包含所有的代码,这 ...
- apache ab测试
网站并发测试,网站服务使用的是apache2.4 因此使用ab来测试网站性能. windows使用cms 打开apache/bin 运行ab.exe (......../apache/bin/ab), ...
- Python中sort以及sorted函数初探
sorted(...) Help on built-in function sorted in module __builtin__: sorted(...) sorted(iterable, cmp ...
- Cocos3.0 的android返回键功能实现
比如:Game.h Game.cpp 头文件Game.h中定义: void onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent) ...
- 【JMeter4.0】之遇到的问题总结(持续更新)
目录: 一.图形结果监听器选择文件报错 二.TCP取样器压测出现500 错误,读取数据超时 三.如何解决JMeter通过JDBC访问MySQL的问题总结 四.如何解决JMeter通过JDBC访问Ora ...
- SQL宝典
SQL Server 数据库的高级操作 (1) 批处理 (2) 变量 (3) 逻辑控制 (4) 函数 (5) 高级查询 */ (1)批处理 将多条SQL语句作为一个整体去编译,生成一个执行计划,然后, ...
- 布局溢出屏幕解决-easyui
body样式easyui-layout 再加个滚轮
- Axure9 v9.0.0.3629 ~ v9.0.0.3633 授权密钥 【2019.02.05】
现在提供一个支持v9.0.0.3629.v9.0.0.3630.v9.0.0.3631.v9.0.0.3632.v9.0.0.3633的授权码(后续的Beta更新版本应该能继续使用) 被授权人:zd4 ...
- C#基础语言知识--编译和执行过程
http://blog.csdn.net/stive_sourcexin/article/details/51329697