理解微服务

一、什么是为微服务
微服务是一种架构风格,打破了all in one的架构方式,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合。
可以通过http的方式进行互通,服务可以独立部署和扩展,每个服务都提供一个坚实的模块边界,甚至不同的服务可以用不同的编程语言来编写,意味着不同的服务可以由不同的团队来管理。

二、了解单体应用框架(all in one)
所谓的单体应用框架,指的是我们将一个应用中的所有应用服务都封装在一个应用中。无论是ERP、CRM或是其他的系统,都把数据库访问、web访问等各种功能都放到了一个war包中。

1、单体应用框架的优点:
易于开发和测试,也十分方便部署。当需要扩展的时候,直接将war包复制多份,然后放到多个服务器上,再做个负载均衡就可以了
2、单体应用框架的缺点:
如果我想对项目进行修改,我都需要停掉整个服务,重新打包,部署这个应用的war包。如果我们做的是大型的应用,如果把所有的内容都放到一个应用中,维护和分工开发都是大问题!

三、微服务的优点
1、节省了调度资源
2、每个功能元素的服务都是一个可以替换的、可独立升级的软件代码

什么是springBoot

一、SpringBoot
是一个JavaWeb的开发框架,和SpringMVC类似,简化了开发,依旧是约定大于配置,能迅速的开发web项目,几行代码开发一个http接口。
SpringBoot并不是什么新的框架,它默认配置了许多框架的使用方式,就像maven整合了所有的jar包,SpringBoot整合了所有的框架。

二、核心思想
约定大于配置

三、SpringBoot的主要优点
1、让Spring开发快速入门
2、开箱即用,提供各种默认配置来简化项目配置
3、内嵌式容器简化Web项目(当我们在构建项目的时候,勾选web的支持,就会帮我们自动导入关于web项目的相关框架和依赖支持)
4.没有冗余代码生成和XML配置的要求

SpringBoot和SSM框架区别

SSM框架最后会将项目打成war包,通过Tomcat进行部署运行,而SpringBoot是将项目打成jar包,通过内嵌的Tomcat运行

第一个SpringBoot程序

一、创建的方式
1、我们可以从Spring网站上直接下载,导入到IDEA
2、直接使用IDAE创建一个SpringBoot项目(一般都使用这个方法,注意:IDEA不是直接创建,而是继承了spring官网,本质上还是网站帮我们创建了项目)

二、IDEA创建的流程
1、点击file,选择new project

2、选择导入依赖

3、删掉多余的无用文件,只留下src和pom.xml

4、在Springboot01HelloworldApplication同级下建立Controller、Service、Pojo、Mapping等包
注意:一定按照这个规范建包,不然有些功能或者注解系统扫描不到!!!

5、了解创建的SpringBoot项目下的pom.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
<!--   我们创建一个SpringBoot项目时,都会存在一个远端的父项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.guohui</groupId>
    <artifactId>springboot01-helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot01-helloworld</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
<!--该依赖中包含了springMVC,使用Tomcat为默认嵌入式容器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
<!--用于编写单元测试的依赖包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
<!--            SpringBoot打包插件,负责将项目打包成jar包,对应Maven侧边栏package功能-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.5</version>
            </plugin>
        </plugins>
    </build>

</project>

6、编写第一个Controller类

@RestController//设置这个Controller类不被视图解析器解析,只单纯的返回字符串
public class HelloController {
    
    //定义第一个helloController接口
    @RequestMapping("/hello")
    public String Hello(){
        return "HelloWorld!";
    }
}

7、进入Springboot01HelloworldApplication,启动项目

8、控制台会打印一些信息,比如我们SpringBoot版本等等

说明SpringBoot果然是内置了Tomcat

9、服务启动成功后,在浏览器输入localhost:8080/hello,成功将我们接口中的内容打印在浏览器上

至此,关于微服务、SpringBoot理解认识、SpringBoot程序的创建和启动等技术点你已经彻底的掌握了,希望你可以一直像现在这样认真专注,祝你早日打开微服务大门,早日成为一名全栈工程师!

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐