本文是我学习java Spring时,随手做的笔记,主要参考自狂神说java。有些是网上别人的截图,侵删!!!
Spring是什么
Spring:春天,弹簧,泉水——可以理解为spring为整个java开发带来了春天
框架:一种框架,进一步将开发所需的代码封装了,提升了开发的便捷性与安全性。
进一步封装:它封装了什么?最开始,有了编程语言,一些特定功能块可以封装,即函数;再进一步,用面向对象的思想,将行为、属性封装到类里面;Spring就是再进一步,将创建对象进一步封装。
目的:解决企业级应用开发的复杂性
范围:任何java应用
比喻:就像简历模板
经典定义:Spring是一个轻量级的以控制反转和面向切面的为思想核心的框架
Spring历史
2002,Rod Johnson编写,最开始叫interface21
Spring特点
简化开发
融合剂,整合各种应用,整合现有框架
Spring内容主要是去学:SSM(Spring MVC,Spring+Mytatics)
Spring下载和导入
官网:
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