前言:
小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个练习Java半年时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师。 这个Spring基础学习系列是用来记录我学习Spring框架基础知识的全过程 (这个系列是参照B站狂神的Spring5最新教程来写的,由于是之前整理的,但当时没有发布出来,所以有些地方可能有错误,希望大家能够及时指正!) 之后我将会以一天一更的速度更新这个系列,还没有学习Spring5框架的小伙伴可以参照我的博客学习一下;当然学习过的小伙伴,也可以顺便跟我一起复习一下基础。 最后,希望能够和大家一同进步吧!加油吧!少年们!
1.Spring 初识
1.1 Spring 简介
-
Spring,翻译过来就是春天,可以理解为给软件行业带来了春天!在2002年,首次推出了Spring框架的雏形,也就是interface21框架;而Spring框架以interface21框架为基础经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版; -
Rod Johnson,Spring Framework创始人,著名作者。很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。 -
Spring理念:使现有的技术更加容易使用,本身是个大杂烩,整合了现有的技术框架; SSH:Struct2 + Spring(相当于融合剂) + Hibernate(全自动的持久化框架); SSM:SpringMVC + Spring + Mybatis(半自动化的持久化框架,可指制定性高,更加灵活)。
官网:https://spring.io/projects/spring-framework#overview
官方下载地址:https://repo.spring.io/release/org/springframework/spring
GitHub:https://github.com/spring-projects/spring-framework
Spring框架的Maven相关资源依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
1.2 Spring 优点
精简版:
- Spring是一个开源的免费框架(容器)!
- Spring是一个轻量级的、非入侵式的框架!
- 核心是控制反转(IOC),面向切面编程(AOP)
- 支持声明式事务的处理,方便集成各种优秀框架
详细版:
- 方便解耦、简化开发:Spring就是一个大工厂,可以将所有的对象创建和依赖关系维护交给Spring管理
- AOP编程的支持:Spring提供面向切面编程,可以方便地实现对程序进行权限拦截、运行监控等功能
- 声明式事务的支持:只需要通过配置就可以完成对事物的管理,无需手动编程
- 方便程序的测试:<Spring对Junit4支持,可以通过注解方便的测试Spring程序
- 方便集成各种优秀框架:Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架 (如Structs2、Hibernate、MyBatis等) 的直接使用
- 降低JavaEE API的使用难度:Spring对JavaEE开发中非常难用的一些API (JDBC、JavaMail、远程调用等) ,都提供了封装,使这些API应用难度大大降低
总结:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架!
1.3 Spring 组成
分为Spring Core (Spring 核心容器)、Spring AOP (Spring 面向切面编程)、Spring ORM (Spring 对象关系模型)、Spring DAO (Spring 数据持久层)、Spring Web、Spring Context (Spring 上下文)、Spring Web MVC
Spring Core (Spring 核心容器):主要包括Supporting utilities (支持的工具) 和 Bean container (Bean 容器)
Spring ORM (Spring 对象关系模型):主要包括 Hibernate support (Hibernate的支持) 、Batis support (IBatis,也就是Mybatis的支持) 和 JDO support (JDO是Java对象持久化的支持)
Spring的其他部分的就不用一一介绍了
1.4 Spring 拓展
1.4.1 Spring 全家桶
Buding Anything(构建一切)+Coordinate Anything(协调一切)+Connect Everthing(连接一切)
1.4.2 Spring Boot 框架
-
一个快速开发的脚手架 -
基于SpringBoot可以快速的开发单个微服务 -
约定大于配置
1.4.3 Spring Cloud 框架
- SpringCloud 是基于SpringBoot实现的
- 因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC!承上启下的作用!
弊端:发展了太久之后,违背了原来的理念!配置十分繁琐,人称:“配置地狱"
好了,今天的有关Spring基础学习之Spring初识的学习就到此结束啦,欢迎小伙伴们积极学习和讨论,喜欢的可以给蜗牛君点个关注,顺便来个一键三连,我们下期见,拜拜啦!
参考视频链接:https://www.bilibili.com/video/BV1WE411d7Dv(【狂神说Java】Spring5最新教程IDEA版通俗易懂)
|