Spring简介

简介

2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。
2004年3月24日,Spring框架以interface21为基础,经过重新设计,发布了正式的1.0版本。
但是,很难想象Rod Jahnson是悉尼大学的博士,不是计算机专业的,而是音乐学。
Spring理念:使现有技术更加实用。

官网 : http://spring.io/

官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/

GitHub : https://github.com/spring-projects

优点

1.Spring是一个开源免费的框架
2.Sprng是一个轻量级的,非入侵式的
3.控制反转IOC,面向切面编程AOP
4.对事物的支持,对框架的支持

总的来说:Spring是一个轻量级的控制反转和面向切面编程的容器(框架)。

Spring的核心7个模块

在这里插入图片描述
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

  • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

  • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。

  • Spring AOP:提供了面向切面的编程实现,让你可以自定义拦截器、切点等。

  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。

  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

  • Spring Web 模块:提供了针对 Web 开发的集成特性,例如文件上传,利用 servlet listeners 进行 ioc 容器初始化和针对 Web 的 ApplicationContext。

  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

### 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启动时,会自动扫描此类并将其实例化为一个可用的对象。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值