解锁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

Like (0)
guozi的头像guozi
Previous 2024年6月3日 下午2:54
Next 2024年6月3日 下午2:55

相关推荐

  • 应用开发

    应用开发,这是一个在云服务器行业中备受关注的话题。随着云计算技术的发展,应用开发已经成为了企业提升竞争力和实现数字化转型的重要手段。但是,什么是应用开发?它又有着怎样的重要性?主流…

    行业资讯 2024年3月23日
    0
  • 高防vps评测,高防服务器国外

    韩国高防CDN服务器这个词曾经只有少数人知道,但现在已经成为云服务器行业的热门话题。它有哪些特点和优势?如何选择适合自己的韩国高防CDN服务器?有哪些价格标准和比较值得关注?随着互…

    行业资讯 2024年4月7日
    0
  • GNU计划的历史和发展

    在当今互联网发展迅速的时代,我们不可避免地要接触到各种网络互联网服务器。而在这个行业中,有一个名为GNU计划的存在备受关注。这个计划究竟是什么?它又是如何影响和贡献于网络互联网服务…

    行业资讯 2024年4月3日
    0
  • 脸书网站进不去,怎么解决脸书网站被屏蔽的问题和答案

    随着互联网的发展,社交媒体已经成为人们生活中必不可少的一部分,而最受欢迎的平台之一Facebook最近面临着被屏蔽的问题。这不仅影响了用户的正常使用,也对其背后的互联网行业造成了一…

    行业资讯 2024年5月11日
    0

发表回复

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