SpringBoot专栏--设计理念

SpringBoot的核心:约定优于配置

         约定优于配置(Convention over Configuration),也称作按约定编程,是一种软件设计范式,目的在于减少开发人员需做决定的数量、获得简单的好处。本质地说,就是开发人员仅需规定应用下不符规定的部分。例如,加入模型中有个User的类,那么数据库对应的表默认为user。只有偏离这一约定时才需要配置。

         在Spring体系中,Spring Boot JPA就是约定优于配置最佳实现之一,不需关注表结构,表名就是类型,属性名就是表字段,String对应varchar,long对应bigint。只有一些特殊要求的属性,才会单独进行配置,简化了大量工作。

         SpringBoot体系将约定优于配置思想展现淋漓尽致,小到配置文件、中间件的默认配置,大到内置容器、生态中各种starters都遵循此设计原则。Starters的核心组件之一就是autoconfigure模块,也就是Starters核心功能,在启动时自动装配,属性默认化配置。

Starers

         SpringBoot Starters基于约定优于配置的理念设计。Starters有两个核心组件:自动配置代码和提供自动配置模块及其它有用的依赖。当项目中引入某个Starter,即拥有了此软件默认使用能力,除非我们特定的配置,一般仅需少量配置或者不配置就可使用组件对应的功能。

 

名称

描述

spring-boot-starter

核心 Starter,包括自动配置支持,日志和 YAML

spring-boot-starter-activemq

用于使用 Apache ActiveMQ 实现 JMS 消息

spring-boot-starter-amqp

用于使用 Spring AMQP Rabbit MQ

spring-boot-starter-cache

用于使用 Spring 框架的缓存支持

spring-boot-starter-data-elasticsearch

用于使用 ElasticSearch 搜索,分析引擎和 Spring Data ElasticSearch

spring-boot-starter-data-jpa

用于使用 Hibernate 实现 Spring Data JPA

spring-boot-starter-data-mongodb

用于使用基于文档的数据库 MongoDB Spring Data MongoDB

spring-boot-starter-data-redis

用于使用 Spring Data Redis Jedis 客户端操作键值数据存储 Redis

spring-boot-starter-jta-atomikos

用于使用 Atomikos 实现 JTA 事务

sring-boot-starter-mail

用于使用 Java Mail Spring 框架 Email 发送支持

spring-boot-starter-quartz

用于定时任务 Quartz 的支持

spring-boot-starter-security

Spring Security 的支持

spring-boot-starter-test

用于测试 Spring Boot 应用,支持常用测试类库,包括 JUnitHamcrest Mockito

spring-boot-starter-thymeleaf

用于使用 Thymeleaf 模板引擎构建 MVC Web 应用

spring-boot-starter-validation

用于使用 Hibernate Validator 实现 Java Bean 校验

spring-boot-starter-web

用于使用 Spring MVC 构建 Web 应用,包括 RESTfulTomcat 是默认的内嵌容器

spring-boot-starter-websocket

用于使用 Spring 框架的 WebSocket 支持构建 WebSocket 应用

 

Spring、SpringBoot和SpringCloud的关系

         Spring最初两大核心是SpringIOC和SpringAOP成就了Spring,在这两大核心功能不断发展有了Spring事物、SpringMVC等一系列产品,最终成就了Spring帝国。

         SpringBoot是在强大的Spring帝国生态基础上发展而来,并非要取代Spring,而是为了更好地使用。

         SpringCloud是一系列框架的有序集合,利用SpringBoot的便利简化了分布式系统基础设施的开发。服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等都可以用SpringBoot的开发风格做到一键启动和部署。SpringCloud完全基于SpringBoot 而开发。

         以下是他们之间的关系:

         SpringIOC/AOP   >   Spring   >    SpringBoot    >    SpringCloud

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值