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和微服务架构的主要内容,如果未能解决你的问题,请参考以下文章