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

将自己的业务能力封装并对外提供服务,这是继承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. Nginx-04:Nginx配置实例之反向代理1
  2. ELK集群的搭建和Elasticsearchd api的简单使用
  3. ElasticSearch中文分词器-IK分词器的使用
  4. c++ cstring 转换 char_LeetCode 709. 转换成小写字母
  5. matlab debug出现k,MATLAB下的程序调试
  6. .NET gRPC核心功能初体验
  7. 施一公:“中国式科研”误国误民!表面上一片繁荣,实则深藏危机
  8. PHP网站源码-ThinkPHP5框架内核开发图书管理系统
  9. Pytorch Dataset、Dataloader的简单理解与使用
  10. 小米9se无法连接adb的问题
  11. Better man 中文歌词
  12. mysql.sock被删除_mysql.sock文件丢失被删除解决方法
  13. 柴静《看见》摘抄及小评
  14. 计算机重启事件查看,事件查看器检查上一次电脑关机时间
  15. HMAC和密钥导出(HMAC and Key Derivation)
  16. java多线程12:阻塞队列Queue
  17. OverlayFS 注册与挂载
  18. 手机APP(功能)测试重点
  19. 机器学习—多元线性回归案例
  20. GD32F450ZIT6脉冲捕获会丢失脉冲的问题

热门文章

  1. 移动应用框架 Ionic 4 Ionic for Everyone
  2. 手机html文件转TXT,Html 转换 Txt
  3. Javascript第五章document对象获取标签节点-第六课
  4. 在python中如何判断数组中的数据为空值_缓存穿透问题,开发中真实解决方案
  5. integer超出范围_BigInteger:可以让超过Integer范围内的数据进行运算
  6. 进程 线程 协程_进程 线程 协程 管程 纤程 概念对比理解
  7. SharePoint 2010 客户端对象模型使用 ECMAScript
  8. js获取url传递得参数
  9. Fiddler-2 Fiddler抓包原理
  10. java中字符类型的转换