Spring是什么?
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring就是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
下面从整体上认识一下Spring的主要特征:
★轻量:从大小与开销两方面而言Spring都是轻量的。此外,Spring是非侵入式的:使用Spring,我们的类还是pojo类,完全不用继承和实现Spring的类和接口等。
也就是说,使用Spring的应用中的对象不依赖于Spring的特定类。
★IoC:Spring通过控制反转技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反——不是我们自己控制对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它,这就是DI——依赖注入。
基本上就是对象不用自己动手管理和创建。完全由容器管理,我们只管用就行。
★AOP:Spring提供了面向切面的编程支持,AOP将与程序业务无关的内容分离提取,应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。
AOP将与业务无关的逻辑横切进真正的逻辑中。
★容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring的容器也是轻量级的。
★框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),而用户就有更多的时间和精力去开发应用逻辑。
所有Spring的这些特征都能帮助我们够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
下面来具体看看Spring有什么优点:
★借助Spring,荣国依赖注入,AOP应用,面向接口编程,来降低业务组件之间的耦合度,增强系统的扩展性。
★ 让已有的技术和框架更加易用。
★利用其对hibernate的SessionFactory、事务管理的封装,更简洁的应用hibernate。
★Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
★利用AOP思想,集中处理业务逻辑,减少重复代码,构建优雅的解决方案。
★低侵入式设计,代码污染极低。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。
虽然Spring可以一站式解决整个项目问题,但是Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring可以降低各种框架的使用难度,他提供了对各种优秀框架(如Struts、Hibernate、Hessian、Quartz等)的直接支持。
使用Spring的主要目的是使J2EE易用和促进好的编程习惯,Spring的目标就是让已有的技术更加易用。
所以Spring的一个重要思想就是整合和兼容。因此使用Spring,即使不是最好,也会更好。
分享到:
相关推荐
【Spring 概述】 Spring 是一个著名的 Java 开源框架,由 Rod Johnson 创建,旨在简化企业级应用程序的开发。它的核心特性包括控制反转(IoC)和面向切面编程(AOP)。Spring 框架的设计理念是轻量级,不仅在体积上...
### Spring核心机制——依赖注入详解 #### 一、引言 Spring框架作为一款优秀的轻量级Java应用开发框架,其核心理念之一就是依赖注入(Dependency Injection, DI)。依赖注入不仅能够帮助开发者降低代码间的耦合度...
Spring官方文档中的核心篇是深入学习和掌握Spring框架不可或缺的资料,其中包含了关于Spring核心特性的详细介绍和示例。接下来,我们将详细介绍文档中提到的核心知识点。 ### Spring IoC 容器和Bean #### 容器概述...
Spring框架则是一个全面的企业级应用框架,它不仅包含Struts的MVC功能,还涵盖了依赖注入(DI)和面向切面编程(AOP)等核心特性。Spring允许开发者通过配置文件或注解来管理对象之间的依赖关系,降低了组件间的耦合...
### Spring核心代码分析 #### 一、Spring框架概述与核心价值 Spring框架,自问世以来,已成为Java开发领域中不可或缺的一部分。它通过一系列创新性的设计理念,如依赖注入(Dependency Injection,DI)、面向切面...
Spring Framework 是一个全面的Java应用开发框架,由Rod Johnson创建,旨在简化企业级Java应用程序的开发。它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等核心...
《迷你Spring:深入理解Spring核心原理》 迷你Spring(mini-spring)是一个为了教学和学习目的而设计的简化版Spring框架。它旨在帮助开发者快速理解Spring框架的核心概念和工作原理,为深入研究Spring源码提供了...
本节我们将探讨SpringData的概述以及如何通过一个简单的"HelloWorld"示例来入门。 SpringData的核心目标是通过减少样板代码,使数据访问更加简单、高效。它支持多种数据存储技术,包括JPA(Java Persistence API)...
Spring源码学习概述 Spring是Java生态系统中的一种流行的开源框架,由Rod Johnson创立于2003年。Spring框架的主要目标是使Java应用程序的开发变得更加简洁、灵活和可维护。Spring框架的核心思想是基于依赖注入...
### Spring核心知识点详解 #### 一、Spring框架功能整体介绍 Spring框架是一个开源的企业级Java应用框架,由Rod Johnson创建并由Pivotal Software维护。它提供了一个全面的基础架构支持,使得开发人员能够轻松地...
Spring Integration 是一个基于 Java 的集成框架,旨在帮助开发者将不同的应用程序和系统集成在一起。它提供了一种基于消息的集成方式,允许开发者使用消息来交换数据。Spring Integration 提供了多种集成方式,包括...
《Spring入门:Spring概述与Spring IoC》是针对初学者的一篇教程,旨在引导开发者进入Spring框架的世界。本文将深入探讨Spring的核心概念,特别是Spring的Inversion of Control(IoC,控制反转)特性,以及如何在...
Spring是Java开发中极其重要的一个轻量级框架,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)。通过学习这个课程,开发者可以对Spring有一个全面...
**Spring 框架概述** Spring 是一个开源的 Java 应用程序开发框架,由 Rod Johnson 在2003年发起,旨在简化企业级应用的开发。它以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-...
Spring框架是Java开发中的核心工具,它提供了许多关键特性,如控制反转(IoC)和面向切面编程(AOP),这些都在其核心技术部分得到详细阐述。本文档将深入探讨Spring框架的核心组件,特别是IoC容器,以及如何利用它...
`@Autowired`注解是Spring中的核心注解之一,用于自动装配bean。当我们将`@Autowired`应用到字段、构造器、方法或参数上时,Spring容器会自动寻找匹配的bean并将其注入。匹配通常是基于类型,也就是说,Spring会查找...
即Spring框架的概述 1。 介绍Spring框架 1.1。 依赖注入和控制反转 1.2。 模块 1.2.1。 核心容器 1.2.2。 数据访问/集成 1.2.3。 web 1.2.4。 AOP和仪表 1 2 5。 测试 1.3。 使用场景 1.3.1。 依赖关系管理和命名...
2. **依赖注入**:Spring Framework 的核心功能之一是依赖注入,它使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。通过XML配置文件或注解,Spring 可以管理对象的生命周期和依赖关系。 3. **面向切面...
Spring的核心特性之一是IoC容器,它负责创建对象并管理它们之间的依赖关系。通过DI,对象的依赖不再由对象自身创建,而是由容器注入,这样可以降低对象间的耦合度,提高代码的灵活性和可测试性。 2. **模块化设计*...