一个微服务应该都是单一职责的,这才是“微”的体现,一个微服务解决一个业务问题(注意是一个业务问题而不是一个接口)。

将自己的业务能力封装并对外提供服务,这是继承SOA的核心思想,一个微服务本身也可能使用到其它微服务的能力。

在微服务架构之前还有一个概念:SOA(Service-Oriented Architecture)-面向服务的体系架构,学过SOA的人都知道这个这里就不做介绍了

一:SpringBoot简介

1.1 Spring的优点分析

Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的EnterpriseJavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

1.2 Spring的缺点分析

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。

1.3 SpringBoot的概述

SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

1.4 SpringBoot的特点

可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

内嵌Tomcat或Jetty等Servlet容器;

提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

尽可能自动配置Spring容器;

提供准备好的特性,如指标、健康检查和外部化配置;

绝对没有代码生成,不需要XML配置。

1.5 SpringBoot的核心功能

起步依赖:

起步依赖本质上是一个Maven项目对象模型(ProjectObjectModel,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。

简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

自动配置:

SpringBoot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,

才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。

二:搭建SpringBoot环境(快速入门)

2.1 : 需要创建一个Maven工程

使用Idea开发工具创建一个新的Maven工程,该工程为普通的java工程酒而已了。

2.2 : 添加SpringBoot的起步依赖

SpringBoot要求,项目要继承SpringBoot的起步依赖spring-boot-starter-parent

注意:SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖

2.3: 编写SpringBoot引导类

要通过SpringBoot提供的引导类起步SpringBoot才可以进行访问

2.4 :编写Controller 层

最后在浏览器上输入:localhost:8080,看到如下结果则表示测试成功:

boot入门思想 spring_SpringBoot基础入门相关推荐

  1. boot入门思想 spring_SpringBoot快速入门

    一.Spring介绍 1.1.SpringBoot简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些 ...

  2. Python从入门到实战 基础入门视频教程(讲解超细致)-黄勇-专题视频课程

    Python从入门到实战 基础入门视频教程(讲解超细致)-4123人已学习 课程介绍         Python基础入门视频教程:本课程从Python入门到纯Python项目实战.超100以上课时, ...

  3. python入门到实践-Python编程从入门到实践(基础入门)

    Python编程从入门到实践-------基础入门 1.Python中的变量 2.Python首字母大写使用title()方法,全部大写upper()方法,全部小写lower()方法 3.Python ...

  4. python免费入门手册-Python 基础入门教程

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. <Python 基础入 ...

  5. 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习

    今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...

  6. python语言入门w-1Python开发——基础入门

    基础入门 变量 命名规则 变量名通常由字母,数字,下划线组成; 数字不能作为变量名开头; 不能以python中的关键字命名; 变量名要有意义; 不要用汉字和拼音去命名; 变量名要区分大小写; 推荐使用 ...

  7. Python Hello World入门 - Python零基础入门教程

    目录 一.创建 hello world 项目 1.Create New Project 2.设置项目所在目录 3.项目创建完成 二.编写代码 三.运行项目 万丈高楼平地起,编程亦如此.改变世界是结果, ...

  8. python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

  9. Java如何学才能快速入门(零基础入门)

    对于初入Java的伙伴们来说,都会有一个疑惑?我适合学习编程吗? 编程入门遇到难题的时候想到过放弃,当你写完一个程序的时候感到内心的欣慰,这都取决你自己. 对于初学者来说(或者每一种编程语言)都会有这 ...

最新文章

  1. 引入jQuery后$冲突的解决办法
  2. 退耦电容,旁路电容和滤波电容的一些区别?
  3. mysql php 迁移_MySQL数据复制、迁移、转换
  4. iptables简单应用
  5. 阿里云推PostgreSQL 10 高可用版
  6. 【C++笔记】表达式 语句
  7. Ubuntu18.04快捷键
  8. 程序员的思维修炼9——超越专家
  9. Vue.js起手式+Vue小作品实战
  10. win10系统怎么查看电脑配置,win10电脑配置查看
  11. 红色警戒2修改器原理百科(三)
  12. Android应用内设置多语言,可随系统语言改变而改变,也可设置app为固定语言不受系统语言影响
  13. 计算机瞬间关闭所有程序的方法,Win10如何设置关机时快速关闭所有程序
  14. 2021-02-07 - GraphQL - 学习/实践
  15. MFC使用CButtonST类实现按钮图片功能
  16. fftshift小技巧
  17. Java Swing的简单学习学习
  18. java获得文件的大小和图片的长和宽 已封装!
  19. 机器学习参数|数学建模|自相关性
  20. VMware虚拟机安装Ubuntu22.04并配置网络

热门文章

  1. python canvas画弧度_超清字符画——Python代码
  2. Vue学习笔记之09-v-model双向绑定
  3. linux程序文本,Linux之文本处理
  4. idea怎么给方法快速添加注释_生完孩子胸部下垂怎么办?来看快速矫正的方法
  5. MySql学习10-----存储过程和函数
  6. 鼠标移入通过时间控制实现两个不同步的动画效果
  7. 通过Chrome浏览器检测和优化页面
  8. 求两条直线(线段)的交点
  9. 基于Python3-Pygame的推箱子游戏
  10. VMware与 Device/Credential Guard 不兼容.