Skip to content
Spring & Spring Boot & Spring Cloud & Alibaba Cloud 微服务与云原生实战
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
.meta feat: update articles Sep 17, 2019
DDD
DevOps feat: update articles Sep 3, 2019
IoC
Java Web feat: update articles Sep 3, 2019
Web
winter-boot Update README.md Sep 3, 2019
安全认证 feat: update articles Sep 3, 2019
导论 chore: update Sep 8, 2019
应用配置/上下文配置
微服务
数据访问
请求处理
阿里云
集成调度
.gitattributes
.gitbook.yaml
.gitignore
LICENSE
README.md feat: update articles Sep 3, 2019

README.md

Spring 题图

Spring 微服务实践

Spring 的设计目标是为我们提供一个一站式的轻量级应用开发平台,抽象了应用开发中遇到的共性问题。作为平台,它考虑到了企业应用资源的使用,比如数据的持久化、数据集成、事务处理、消息中间件、分布式式计算等高效可靠处理企业数据方法的技术抽象。开发过程中的共性问题,Spring 封装成了各种组件,而且 Spring 通过社区,形成了一个开放的生态系统,比如 Spring Security 就是来源于一个社区贡献。

使用 Spring 进行开发,对开发人员比较轻量,可以使用 POJO 和 Java Bean 的开发方式,使应用面向接口开发,充分支持了面向对象的设计方法。通过 IOC 容器减少了直接耦合,通过 AOP 以动态和非侵入的方式增加了服务的功能,为灵活选取不同的服务实现提供了基础,这也是 Spring 的核心。轻量级是相对于传统 J2EE 而言的,传统的 J2EE 开发,需要依赖按照 J2EE 规范实现的 J2EE 应用服务器,设计和实现时,需要遵循一系列的接口标准,这种开发方式耦合性高,使应用在可测试性和部署上都有影响,对技术的理解和要求相对较高。

Spring

本篇是《服务端开发实践与工程架构》系列文章的一部分,关联的示例代码请参考 java-snippetsspring-snippets

Spring 历史

特性

  • 轻量非侵入:从大小与开销两方面而言,Spring 都是非常轻量的,完整的 Spring 框架可以在一个大小仅有 1M 多的 JAR 文件里发布,并且 Spring 所需要的处理开销也是微不足道的。

  • 控制反转:Spring 通过所谓的 IoC � 控制反转的技术来促进低耦合,在应用了 IoC 之后,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。

  • 面向切面:Spring 支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

  • 容器:Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,我们可以基于可配置原型来配置 Bean 是如何被创建的、如何被关联的;可以设置是创建一个单独的实例或者每次需要时都生成一个新的实例。

  • 框架:Spring 可以将简单的组件配置,组合成复杂的应用,在 Spring 中,应用对象被声明式地组合,典型的是在 XML 文件中进行声明。Spring 也提供了很多的基础功能(事务管理、持久化框架集成等),将应用逻辑的开发留给开发者。

配置方式

在 Spring 1.x 的时代,主要使用 XML 来配置 Bean,我们需要频繁的在开发的类和配置文件之间切换。到了在 Spring2.x 时代,随着 JDK1.5 带来的注解支持,Spring 提供了声明 Bean 的注解(@Component,@Service 等),大大减少了配置量。而从 Spring 3.x 以后,Spring 提供了更为丰富的 Java 配置的能力(@Configuration,@Bean)等。

Spring Boot

Spring Boot 充分利用了 JavaConfig 的配置模式以及“约定优于配置”的理念,能够极大的简化基于 Spring MVC 的 Web 应用和 REST 服务开发。Spring Boot 可以使得创建独立的产品级别的基于 Spring 的应用程序变得更加简单,使得能够做到开箱即用。Spring Boot 可以用于创建能够直接用 java -jar 命令运行的或者类似于传统的 war 部署方式的应用程序。同样也提供了所谓的 spring scripts 这样的命令行工具。

架构与生态圈

Spring Framework Runtime

About

Copyright

笔者所有文章遵循 知识共享 署名-非商业性使用-禁止演绎 4.0 国际许可协议,欢迎转载,尊重版权。如果觉得本系列对你有所帮助,欢迎给我家布丁买点狗粮(支付宝扫码)~

default

Home & More | 延伸阅读

您可以通过以下导航来在 Gitbook 中阅读笔者的系列文章,涵盖了技术资料归纳、编程语言与理论、Web 与大前端、服务端开发与基础架构、云计算与大数据、数据科学与人工智能、产品设计等多个领域:

此外,你还可前往 xCompass 交互式地检索、查找需要的文章/链接/书籍/课程;或者在 MATRIX 文章与代码索引矩阵中查看文章与项目源代码等更详细的目录导航信息。最后,你也可以关注微信公众号:『某熊的技术之路』以获取最新资讯。

You can’t perform that action at this time.