SpringBoot学习笔记—— SpringBoot和微服务架构

Posted 玛丽莲茼蒿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot学习笔记—— SpringBoot和微服务架构相关的知识,希望对你有一定的参考价值。

一、SSM框架和SpringBoot框架

SSM框架的配置变得越来越复杂,出现了SpringBoot框架作为简化,也逐渐取代SSM框架在Java开发中的地位。

SSM框架:打war包,开启Tomcat,在Tomcat中运行。

SpringBoot框架:打jar包,内嵌了Tomcat服务器,不需要手动开启。

二、springboot的学习思路

入门的话,从如何配置学到嵌入数据库就可以(红色框出来的部分)。

三、什么是SpringBoot

3.1 什么是Spring

 解决企业级应用开发的复杂性。

3.2 什么是SpringBoot

 

 一直被提到的一个思想是“约定大于配置”,这个思想其实在Linux命令和QT开发中都有所体现

example(1):比如对CMakeList.txt文件进行编译时,约定好了要在同一个目录下新建build文件夹,然后执行以下命令即可自动实现编译。

mkdir build
cd build
cmake ..
make

example(2):再比如,在QT开发中,约定好了目录结构是这样的

example(3):到maven时代,通过约定简化了很多东西:pom.xml所在的目录应为项目的根目录,假设该目录为$proj-dir,那么Maven有以下假设:

  • $proj-dir/src/main/java —— 存放项目的.java文件。
  • $proj-dir/src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件。
  • $proj-dir/src/test/jave —— 存放所有测试.java文件,如JUnit测试类。
  • $proj-dir/src/test/resources —— 测试资源文件。
  • $proj-dir/target —— 项目输出位置。

运行一条mvn clean package命令,Maven会帮你清除target目录,重新建一个空的,编译src/main/java类至target/classes,复制src/main/resources的文件至target/classes,编译src/test/java至target/test-classes,复制src/test/resources的文件至target/test-classes;然后运行所有测试;测试通过后,使用jar命令打包,存储于target目录。Maven做的事情一点也不少,只是都对用户隐蔽起来了,它只要求你遵循它的约定。        

结论

由此可以看出,框架和框架之间的约定是有很大区别的,在学习一个新的框架时,必须要学习这个框架的约定,才能明白它的文件夹结构、它的配置文件在哪里;当你熟练了它的约定以后,开发起来也会得心应手,才能真正体会到框架开发带来的便捷性。 

3.3 什么是微服务

首先,为什么提到了微服务?

根据spring的定义可以看出,springboot是一个企业级的开发工具。对于企业来说,不可能把一个应用的所有功能(模块)都写到一个应用程序里面去,应该分开写然后分开部署,所以我们用springboot写的应该是一个个的微服务应用模块,而不是一整个应用程序。

Martin Fowler于2014年3月25日发表的《Microservices》,第一次提出并详细阐述了什么是微服务。原文连接:Microservices

我感觉其实就是一个高内聚低耦合的开发理念。

 

以上是关于SpringBoot学习笔记—— SpringBoot和微服务架构的主要内容,如果未能解决你的问题,请参考以下文章

springboot学习笔记-5 springboot整合shiro

Spring Boot学习笔记

Spring Boot学习大全(入门)

SpringBoot学习笔记——Thymeleaf

SpringBoot学习笔记——Web开发探究

springBoot 集成redis客户端傻瓜式流程