解锁Spring:踏上Java开发之旅

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 单体服务组成的,两者之间属于依赖关系。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87765.html

(0)
guozi's avatarguozi
上一篇 2024年6月3日 下午2:54
下一篇 2024年6月3日 下午2:55

相关推荐

  • 如何进行虚拟机网络配置?

    在当今数字化时代,云服务器已经成为许多企业和个人的首选。然而,在使用云服务器的过程中,如何进行虚拟机网络配置却是一个不容忽视的问题。那么,什么是虚拟机网络配置?它又有着怎样的重要性…

    行业资讯 2024年3月22日
    0
  • vue中elementui怎么用,elementui 入门

    什么是Element-ui?根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。官网

    2024年5月31日
    0
  • ip是否被墙,检测ip有没有被墙

    VPN(虚拟专用网络)是一种加密技术,它在公共网络上建立安全隧道,允许用户连接到其他本地网络,通过该网络对所有数据进行加密。因此,VPN 服务允许用户绕过封锁并访问被封锁的网站。 …

    行业资讯 2024年5月7日
    0
  • 什么是连云港网站优化

    连云港,这个名字对于很多人来说可能并不陌生,但是你真的了解它吗?它究竟是一个怎样的地方?或许你会想到它的美丽海滨风光,或者是那里的渔港和航运业。但是除了这些外,还有一项非常重要的产…

    行业资讯 2024年4月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注