解锁Spring:踏上Java开发之旅

目录

1、Spring概述

2、Spring优缺点

3、Spring框架组成

4、Spring Boot与Spring Cloud


1、Spring概述

官网地址:https://spring.io/

  • Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用Spring 框架来创建性能好、易于测试、可重用的代码。

  • Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。

  • Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。

  • Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。

  • Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO编程模型来促进良好的编程实践。

Spring理念:让现有技术更容易使用,spring 本身可以比喻为一个大杂烩,是一种融合剂,使用spring整合了现有的框架技术。

  • 官网 : http://spring.io/

  • 中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference

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

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

2、Spring优缺点

优点:

  • Spring是轻量级框架,可以自由选择使用哪个Spring 模块。

  • 对代码的侵入小、应用程序对Spring API 的依赖比较少,也方便整合老旧的项目。

  • 通过控制反转 与依赖注入,实现了对象依赖之间的解耦,降低了业务对象替换的复杂性。

  • 支持面向切面编程,将业务功能与额外的功能分类,实现高内聚。

  • 提供了Spring 容器,统一管理对象的生命周期和配置信息。

  • 对主流的开源框架提供了更好的支持,简化开发过程,让程序员更注重关于业务逻辑的开发

缺点:

  • 使用了大量的反射机制,比较占用内存,效率不如直接调用高

  • Spring包含了很多组件,使用的组件越多,Spring 的启动会越慢。

  • 配置比较复杂,但是之后引入了注解配置,简化了配置过程。

  • 启动Spring 的IOC容器,需要依赖第三方的Web 服务器,自身不能启动。

  • 使用Spring 做出来的程序,逻辑不清晰,代码不够直观,需要通过查看配置才能理解代码。

  • 调试阶段不够直观,不容易定位Bug的问题所在。

3、Spring框架组成

Spring框架由以下几个模块组成

1.Spring Core

Core封装包是框架的最基础部分,提供IOC和依赖注入的特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。

2.Spring Context

构建于Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法,有些像JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。

3.Spring DAO

DAO(Data Access Object)提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适合。

4.Spring ORM

ORM封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、Hibernate 和myiBatis。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如期边提到的简单声明性事务管理。

5.Spring AOP

AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,提供用户自定义和配置。

6.Spring Web

WEB模块提供对常见框架如Struts1,WEBWORK(Struts2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器

7.Spring Web MVC

Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模式代码和Web Form 之间。并且,还可以借助Spring框架的其他特性。

4、Spring Boot与Spring Cloud

Spring Boot 是 spring 的一个快速开发的脚手架,使用Spring Boot 可以快速开发一个单体微服务。

Spring Cloud 是基于 Spring Boot 实现的。

Spring Boot 是一个专注于快速开发,便于集成的单体微服务个体,而Spring Cloud 更加注重的全局的微服务管理框架。

Spring Boot 的配置理念是 约定大于配置, Spring Cloud 很多部分就是基于 Spring Boot 实现的,Spring Cloud 是通过多个 Spring Boot 单体服务组成的,两者之间属于依赖关系。

       注:喜欢的朋友可以关注公众号“JAVA学习课堂”方便阅读,内容更丰富哦。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值