以下是我在百度百科摘抄:
Spring:
spring在英文里有春天、弹簧、跳跃和泉眼的意思。Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Rod Johnson在2002年编著的《Expert one to one J2EE design and development》一 Spring Logo书中,对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。同年他又推出了一部堪称经典的力作《Expert one-to-one J2EE Development without EJB》,该书在Java世界掀起了轩然大波,不断改变着Java开发者程序设计和开发的思考方式。在该书中,作者根据自己多年丰富的实践经验,对EJB的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。至此一战功成,Rod Johnson成为一个改变Java世界的大师级人物。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。
编辑本段
简介
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
分享到:
相关推荐
【标题】"仿百度百科源码.zip"是一个包含有源代码的压缩文件,其目标是模仿知名的在线百科全书——百度百科的网站设计和功能。这个项目可能由开发者或编程爱好者创建,旨在学习、研究或者作为基础框架进行二次开发。...
"仿百度百科网站源码"是指一种基于百度百科的在线百科全书网站的源代码实现。这个项目旨在提供一个类似百度百科的功能,让用户能够创建、编辑和查看条目,分享知识和信息。 【描述分析】 描述中提到的"后台管理"指...
电影搜索引擎,基于lucene的电影搜索引擎,主要数据来源为百度新闻,豆瓣电影,百度百科,新浪微博 本文研究的主要内容是:面向电影搜索引擎的功能设计和技术实现。搜索引擎功能设计主要包括,信息资源的集成,查询...
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI...
SSM框架整合是Java开发中常见的一种技术栈组合,它由Spring、Spring MVC和MyBatis三个组件构成,主要用于构建企业级的Web应用程序。本文将详细介绍这三个组件的整合过程及其核心概念。 首先,Spring框架是Java领域...
Spring Cloud简介(摘自百度百科) Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等...
**企业级JavaBeans (EJB) 百科详解** 企业级JavaBeans(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可复用的、基于组件的企业级应用程序的标准框架。EJB规范定义了一组接口和生命周期管理规则,使得...
此外,可能会涉及到Spring MVC,它是Spring框架的一部分,用于构建Web应用。 "day02资料"的顺序放在"day01"之后,可能是为了更深入地讨论Servlet和JSP,或者引入新的主题,如JNDI(Java Naming and Directory ...
同时,Spring框架(虽然不在标签中,但常见于Java Web开发)与以上技术相结合,可以进一步提升应用的可扩展性和模块化。例如,Spring可以与Hibernate集成,提供更高级的事务管理和依赖注入功能;而Spring MVC模式则...
信息资源的集成主要使用网络爬虫技术,利用java语言的regex包和selenium插件实现模拟登录以获取新浪微博,豆瓣电影,百度百科,相关新闻等不同数据源数据,以文档形式存储。查询扩展模块通过IKAnalayzer实现输入文本...
- ZTree可以与各种前端框架(如jQuery、Vue、React等)无缝集成,也可以配合后端框架(如Spring MVC、Django等)实现数据的动态交互。 总结来说,ZTree是一个强大而灵活的JavaScript树形组件,通过其丰富的功能和...
Nacos可以无缝集成Spring Cloud和Dubbo等微服务框架,简化服务治理流程。 9. **命名服务**: 除了服务发现,Nacos还提供命名服务,可以为服务分配易识别的名字,便于管理和查找。 10. **数据推送**: 当配置...
6. **集成其他技术**:例如,将DWR与Spring框架集成,实现更复杂的业务逻辑。 通过这个压缩包中的文件,你可以找到上述知识点的详细代码示例和解释,帮助你深入理解和实践DWR的异步刷新功能。学习并掌握这一技术,...
- **客户端编程模型**:使用Java API、Spring框架集成等方式实现客户端与ActiveMQ服务器之间的通信。 - **ActiveMQ消息存储** - **存储机制**:介绍ActiveMQ中消息存储的各种策略,如基于内存的存储、基于文件系统...
《在线图书馆系统——Java与Spring框架的深度探索》 在线图书馆,作为一个研究Java和Spring框架的项目,为我们提供了一个理想的平台,深入理解这两项技术在实际应用中的强大功能和灵活性。这个项目的核心在于构建一...
依赖注入是做什么用的? 依赖注入又称之为控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。...引用自百度百科。
如果不知道也无妨,套用百度百科的介绍,也能让你明白这玩意是干什么的: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是...
它借鉴了维基百科和百度百科的成功模式,致力于提供一个协作编辑、分享和存储知识的环境,使得用户可以方便地创建、编辑和组织各种类型的信息。 **一、系统架构与技术栈** open-forum-server采用现代Web开发的MVC...
Apache Ant是一种构建工具,它的文档(如压缩包中的“ant_百度百科.mht”)详细介绍了如何自动化Java项目的构建过程。学习Ant有助于理解项目构建流程,而其后的Maven和Gradle则进一步简化了依赖管理,也是Java开发者...
23. **百度百科 - Java Web 架构介绍** - [http://baike.baidu.com/link?url=uPRexJV7GrgTl0V9uLuk4PnfUMk4CEfJOe5sIPt0NlGCevkrX53GTH2a8ANROZE6hGb1pFy5Q_Sq1YBA4cIMaK]...