Spring概述

本文是我学习java Spring时,随手做的笔记,主要参考自狂神说java。有些是网上别人的截图,侵删!!!

Spring是什么

Spring:春天,弹簧,泉水——可以理解为spring为整个java开发带来了春天

框架:一种框架,进一步将开发所需的代码封装了,提升了开发的便捷性与安全性。

进一步封装:它封装了什么?最开始,有了编程语言,一些特定功能块可以封装,即函数;再进一步,用面向对象的思想,将行为、属性封装到类里面;Spring就是再进一步,将创建对象进一步封装。

目的:解决企业级应用开发的复杂性

范围:任何java应用

比喻:就像简历模板

经典定义:Spring是一个轻量级的以控制反转和面向切面的为思想核心的框架

Spring历史

2002,Rod Johnson编写,最开始叫interface21

Spring特点

简化开发

融合剂,整合各种应用,整合现有框架

Spring内容主要是去学:SSM(Spring MVC,Spring+Mytatics)

Spring下载和导入

  官网:

https://spring.io/

  Spring下载:

一般是进Github,https://github.com/spring-projects

  导入

一般是导入Spring Web MVC,包含了很多其他的

先进入maven官网:https://mvnrepository.com/tags/spring

找到Spring Web MVC,有如下导入代码:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>6.1.7</version>
</dependency>

  Spring优点和核心

优点:

1.开源免费;2.轻量级;3.非入侵,方便整合各种Java框架;4.支持事务处理;

核心思想是控制反转和面向切面

Spring组成

1.Spring Core模块是Spring的核心容器,它实现了IOC模式,提供了Spring框架的基础功能。

2.Spring AOP集成了所有AOP(面向切面编程,Aspect-Oriented Programming)功能。通过事务管理可以使任意Spring管理的对象AOP化。

3.Spring ORM (对象关系映射)模块提供了对现有ORM框架的支持,各种流行的ORM框架已经做得非常成熟。。ORM 框架在 Java 开发中非常流行,因为它们简化了数据库操作,使开发人员可以使用面向对象的编程方法来操作数据库记录。

4.DAO(Data Access Object),DAO模式思想是将业务逻辑代码与数据库交互代码分离,降低两者耦合。DAO模块提供了JDBC的抽象层,简化了数据库厂商的异常错误(不再从SQLException继承大批代码),大幅度减少代码的编写,并且提供了对声明式事务和编程式事务的支持。

5.Spring Context模块继承BeanFactory(或者说Spring核心)类,并且添加了事件处理、国际化、资源装载、透明装载、以及数据校验等功能。它还提供了框架式的Bean的访问方式和很多企业级的功能,如JNDI访问、支持EJB、远程调用、集成模板框架、Email和定时任务调度等。

6.此模块建立在Spring Context 基础之上,它提供了Servlet监听器的Context 和 Web应用的上下文。对现有的Web框架,如JSF、Tapestry、Structs等,提供了集成。

7.pring WebMVC模块建立在Spring核心功能之上,这使它能拥有Spring框架的所有特性,能够适应多种多视图、模板技术、国际化和验证服务,实现控制逻辑和业务逻辑的清晰分离。

Spring生态

  内容

Spring Boot

快速开发框架,提供开箱即用的配置和快速启动功能

可快速开发微服务

约定大于配置

这段文字的意思是:

构建所有基于 Spring 的应用程序的起点

Spring Boot 旨在通过最少的 Spring 前期配置使您尽快启动并运行

Spring长期发展,违背了原来的理念,堪称配置地狱,直到Spring Boot

Spring Cloud

基于Spring Boot

快速构建微服务架构

学习路线

现状

现在大多数公司都用Spring Boot,大的用Cloud

学习Spring的前提是Spring和Spring MVC

### Spring框架概述 Spring 是一个开源的 Java 平台,旨在简化企业级应用程序开发。它提供了一种全面的基础架构支持,使开发者能够专注于业务逻辑而不是底层技术细节[^1]。 #### 什么是 Spring 框架? Spring 框架是一个分层架构,由多个模块组成,这些模块可以单独使用也可以组合在一起形成完整的解决方案。它的核心理念是通过 **控制反转(IoC)** 和 **面向切面编程(AOP)** 来提高代码的可维护性和灵活性[^2]。 #### Spring 的主要功能 以下是 Spring 框架的主要功能及其用途: 1. **轻量级容器** - Spring 提供了一个轻量级的容器来管理对象生命周期和依赖关系。这个容器被称为 **IoC 容器**,负责实例化、配置和组装对象[^3]。 2. **依赖注入(DI)** - 依赖注入是一种设计模式,用于将组件之间的依赖关系外部化并交由容器管理。这使得代码更加松散耦合,便于单元测试和扩展[^4]。 3. **面向切面编程(AOP)** - AOP 允许开发者定义横切关注点(如日志记录、事务管理),并将它们分离出来独立处理。这样可以使业务逻辑更清晰,减少重复代码[^5]。 4. **数据访问/集成** - Spring 支持多种持久层技术和数据库操作工具,比如 JDBC、Hibernate、MyBatis 等,并提供了统一异常层次结构以简化错误处理过程。 5. **MVC Web 开发** - Spring MVC 是一种基于模型-视图-控制器的设计模式,帮助构建灵活且易于维护的 Web 应用程序。 6. **事务管理** - 统一了不同资源类型的声明式事务管理和编程式事务管理机制,降低了复杂度。 7. **消息传递支持** - 包括 JMS(Java Message Service)、WebSocket 及其他实时通信协议的支持。 8. **测试支持** - 内置强大的 Mock 对象库以及与其他流行测试框架无缝集成的能力,有助于编写高质量的应用程序。 9. **微服务与云原生支持** - 结合 Spring Boot 和 Spring Cloud 技术栈,快速搭建现代化分布式系统和服务治理方案。 ```java // 示例:简单展示如何创建一个被 Spring IoC 容器管理的对象 @Component public class HelloWorld { public void sayHello() { System.out.println("Hello, World!"); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值