Spring简介

Spring是一个轻量级的JavaSE/EE全栈开源框架,基于IoC和AOP设计,提供全面的解决方案,涵盖从核心容器到数据访问/集成、Web开发等多个方面。本文详细介绍了Spring的各个模块及其功能。

Spring是分层的JavaSE/EE full-stack(全栈)轻量级开源框架,以IoC(Inverse of Control控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核。

轻量级:与EJB对比,依赖资源少,销毁的资源少。

全栈:对每一层都提供了解决方案。spring-mvc,spring,jdbcTemplate

  • Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护交给Spring管理。
  • Spring提供面向切面编程,可以方便地实现对程序进行权限拦截、运行监控等功能。
  • 只需要通过配置就可以完成对事务的管理,而无须手动编程。

下载

认真学spring官网,很容易找到spring4的jar包下载位置 - OPEN资讯
http://www.open-open.com/news/view/1eb1613

访问其官网https://spring.io/,点击PROJECTS,点击SPRING FRAMEWORK,点击the Modules section of the reference documentation这句话,点击 http://repo.spring.io/release/org/springframework/spring ,点击3.2.0.RELEASE,点击下载spring-framework-3.2.0.RELEASE-dist.zip

解压完的目录结构

  • docs:文档
  • libs:jar包,每个jar都有三样,jar包,文档,源码。
  • schema

这里写图片描述

在docs的文档里边可以看到这张图。

1.Core Container(核心容器)

Spring的核心容器是其他模块建立的基础,由Beans模块,Core核心模块,Context上下文模块和Expression Language表达式语言模块组成。

  • Beans模块:提供了BeanFactory,是工厂模式的经典实现,Spring将管理对象称为Bean。
  • Core核心模块:提供了Spring框架的基本组成部分,包括IoC和DI功能。
  • Context上下文模块:建立在核心和Beans模块的基础之上,它是访问定义和配置任何对象的媒介。ApplicationContext接口是上下文模块的焦点。
  • Expression Language模块:是运行时查询和操作对象图的强大的表达式语言。

2.Data Access/Integration(数据访问/集成)

  • JDBC模块:提供了一个JDBC的抽象层,大幅度地减少了在开发过程中对数据库操作的代码。
  • ORM模块:对流行的对象关系映射API包括JPA、JDO、Hibernate和iBatis提供了的集成层。
  • OXM模块:提供了一个支持对象/XML映射实现对JAXB、Castor、使用XMLBeans、JiBX和XStream的抽象层。
  • JMS模块:指Java消息服务,包含的功能为生产和消费的信息。
  • Transactions事务模块:支持编程和声明式事务管理实现特殊接口类,并且对所有的POJO都适用。

3.Web模块

  • Web模块:提供了基本的Web开发继承特性,例如:多文件上传功能、使用的Servlet监听器的IoC容器初始化以及Web应用上下文。
  • Servlet模块:包括Spring模型-视图-控制器(MVC)实现Web应用程序。
  • Struts模块:包含支持类内的Spring应用程序,集成了经典的Struts Web层。
  • Portlet模块:提供了在protlet环境中使用MVC实现,类似Web-Servlet模块的功能。

4.其他模块

  • AOP模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
  • Aspects模块:提供与AspectJ的集成,是一个功能强大且成熟的面向切面编程(AOP)框架。
  • Instrumentation模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
  • 测试模块:支持Spring组件,使用_JUnit_或_TestNG_框架的测试。

在使用Spring开发时,除了自带的JAR包外,还需要依赖第三方JAP包

导入jar包

在libs文件夹里边找,有4个Spring的基础包,分别对应Spring核心容器的4个模块

  • spring-core-3.2.0.RELEASE.jar
  • spring-beans-3.2.0.RELEASE.jar
  • spring-context-3.2.0.RELEASE.jar
  • spring-expression-3.2.0.RELEASE.jar

还需要第三方依赖包

commons.logging-1.1.1.jar,用于处理日志。

### Spring框架简介 Spring是一个开源的Java企业级应用开发框架,旨在简化企业应用程序的复杂度并提高其可维护性和灵活性。它通过提供一系列轻量级解决方案,帮助开发者构建高效、稳定的应用程序[^1]。 Spring最初由Rod Johnson在其著作《Expert One-on-One J2EE Development without EJB》中提出,并逐渐发展成为一个广泛使用的框架。它的设计目标是使J2EE开发更加简单和快速,同时减少不必要的样板代码[^1]。 --- ### Spring框架的核心功能 #### 控制反转(IoC) 控制反转是一种设计原则,用于降低代码之间的耦合性。在Spring中,IoC容器负责管理和实例化Bean对象,从而让开发者无需手动创建对象实例。这种机制使得对象的创建和生命周期管理完全交给Spring框架处理,减少了开发者的负担[^4]。 #### 依赖注入(DI) 依赖注入是IoC的具体实现方式之一。通过DI,Spring可以自动将所需的依赖项注入到组件中,而无需显式编写复杂的初始化逻辑。这种方式不仅提高了代码的可读性,还增强了测试能力[^2]。 #### Bean管理 Spring Core模块实现了IoC的功能,能够定义、配置以及管理Bean的整个生命周期。这些Bean可以通过XML文件或者注解的方式进行声明,支持多种属性设置,例如`class`、`id`、`name`、作用域(scope)、初始化方法和销毁方法等[^3]。 #### 面向切面编程(AOP) Spring提供了强大的面向切面编程支持,允许开发者分离横切关注点(如日志记录、事务管理)与业务逻辑。这有助于保持代码清晰且易于扩展。 #### 数据访问/集成 Spring的数据访问层抽象了底层数据库操作细节,支持各种持久化技术(如JDBC、Hibernate、MyBatis等)。此外,它还集成了事务管理功能,确保数据一致性[^3]。 #### Web支持 Spring MVC是Spring框架的一部分,专注于Web应用开发。它采用MVC架构模式,将模型、视图和控制器分离开来,便于开发和维护大型动态网站。 --- ### 示例代码:基于注解的Spring Bean定义 以下是使用注解方式定义一个简单的Spring Bean的例子: ```java import org.springframework.stereotype.Component; @Component public class GreetingService { public String greet() { return "Hello, Spring!"; } } ``` 在这个例子中,`@Component`注解告诉Spring这是一个需要被管理的Bean。当Spring启动时,会自动扫描此类并将其实例化为一个可用的对象。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值