SpringBoot与微服务简介

SpringBoot与微服务简介

SpringBoot通过整合Spring的各个技术栈用来简化Spring应用开发,使用约定大于配置的思想。简单快速的创建一个独立的,产品级的应用。

SpringBoot

优点

  1. 快速创建独立运行的Spring项目与各大主流框架的集成。

  2. 自带嵌入式的servlet容器。

  3. springboot带有starters自动依赖与版本控制。

  4. 大量的自动配置,约定大于配置。

  5. 无需配置xml,告别大量的xml文件。

springboot的hello world

创建一个maven应用

  1. 创建一个普通的maven项目
  1. 创建后的maven结构,包含pom.xml文件内容
  1. 开启idea中对maven的自动导入功能

在POM文件中添加依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- org.springframework.boot 作用:
1. 默认使用java版本,默认编码
2. 引用管理的功能,比如version会从这里继承出去
3. 识别插件配置
4. 识别.properties 和.yml配置文件
5. 整体的版本依赖
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

创建应用主程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
* EnableAutoConfiguration 表示告诉spring boot如何去配置spring,
* 其可以帮助 SpringBoot 应用将所有符合条件的 @Configuration 配置都加载到当前 IoC 容器之中
* 自从添加spring-boot-starter-web这个starter添加了tomcat和spring MVC后,使用该注解,就说明使用spring启动一个web项目
* SpringBootApplication 等同于使用@Configuration @EnableAutoConfiguration @ComponentScan这三个注解
* @Author nanyin
* @Date 21:46 2019-07-04
**/
@SpringBootApplication
public class DeepSpringBootApplication {
public static void main(String[] args) {
// 使用SpringApplication.run方法来启动spring boot应用 其中参数有类和args
SpringApplication.run(DeepSpringBootApplication.class,args);
}
}

使用SPringMvc编写controller层

1
2
3
4
5
6
7
8
9
10
11
12
13
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

@RequestMapping("/hello")
public @ResponseBody
String home() {
return "Hello World!";
}
}

运行主程序进行测试

打开http://localhost:8080/hello 查看网页上的内容显示出hello world字符。测试成功

测试

导入maven插件打jar包

在pom.xml文件中添加如下内容

1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

保存之后使用mvn package命令打成jar包,可以在输出信息中找出打完的jar包的位置。
使用java -jar xxxxxx.jar命令运行程序。

微服务

微服务其实是一种架构风格,一个应用应该是一组小型服务组成,小型服务通过http api的方式进行沟通。每一个小型服务都是一个功能元素,能够独立替换和独立升级的应用单元。

详细请参考martinfowler.com 中的这篇微服务文章:微服务

-------------本文结束感谢您的阅读-------------

本文标题:SpringBoot与微服务简介

文章作者:NanYin

发布时间:2019年07月06日 - 12:07

最后更新:2019年09月25日 - 11:09

原始链接:https://nanyiniu.github.io/2019/07/06/2019-07-03-SpringBoot%E4%B8%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%AE%80%E4%BB%8B/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。