spring boot系列------初识spring boot

在这个技术层出不穷的时代,我们要时刻的去学习新技术,否则的话就可能会被淘汰(除非你对某方面研究深刻)。而我也得益于现在的公司才开始接触spring boot这套微服务体系,还记的大学我虽学的是java,但后面转方向的时候选择了安卓,而没有选择web方向,但是语言是通用的。可是阴差阳错的最后进了现在的这家公司,公司没有选择我做安卓,原因是因为我们安卓的方向换了,自从react以及其他系列的出现,导致公司开始尝试使用新东西了。所以我就开始往web方向。


在大学期间基本上没有听说过微服务,虽然那时候应该出了吧,但是我们还是沿用那一老套的ssh框架来做web,前端也则使用老掉牙的jsp来做页面。如果真算起来我工作的时间,到现在为止应该快1年半了吧,我们是大四就要出去实习的,虽然实习做的是安卓,但是也让我在开发上有了更深刻的了解。ps(怎么说着说着就缅怀过去了呢。),好了直接进入今天的主题吧。


为什么我们会使用微服务呢:首先要从两个方面说起。第一就是现在流行的觉敏捷开发、第二就是现在容器工具的日益完善(我们公司采用的容器是docker)。


回想我们大学的时候做的第一个使用ssh框架写的web,想想都很麻烦,一大堆xml配置文件要去配置,偶尔一个小地方没有配置对,整个程序就无法运行。即使你是老手的话,在你第n次使用Spring框架的时候,你是不是会为每一次去配置文件需要反复的粘贴复制配置而感到厌烦呢?所以你就可以尝试一下这一套spring boot的框架,他将之前繁琐的配置文件全部给取消掉了,换成了现在的注解。哪怕一个新手ps(从未正确的搭建过ssh框架的但是具有java基础德)也能还快的上手这套框架,这对于公司来说可以大大的增加效率。还有就是他的拆分性,之前我们做一个项目的时候,可能ssh框架已搭建好就开始弄。所有的功能都在一个项目里面,开发之前没有很好的解耦,其实也没法解耦。可能导致后面一系列的问题出现。但是微服务就不同了,你在拿到项目的时候,你要自己拆分功能模块,以及各个模块的耦合度,拆完后,你可以根据拆分的情况建立不同的服务。可能某些服务有关联的我们可以使用fegin调用去进行夸服务的通信。下面我们所说的微服务其实就是基于spring boot和spring cloud来讲的。

微服务简单来说就是细粒度的独立服务,在微服务架构里面这些服务都是独立开发,测试,部署和变更的,有自己独立的数据。微服务的目的是有效的拆分应用,实现敏捷开发和部署 。
spring boot的特点其实:

- 开发入门快
- 开箱即用,提供各种默认配置来简化项目配置
- 内嵌式容器简化Web项目
- 没有复杂的xml配置要求

而微服务的特点就是:
- 由一系列的独立服务共同组成系统
- 单独部署,跑在自己的进程里
- 每个服务为独立的业务开发
- 分布式管理
- 前后台完全分离


我们可以先去建一个spring boot的demo,你就能清楚对于开发为什么会非常敏捷。
在建spring boot的项目的时候,你需要先去安装几个东西,第一个就是jdk(这个就不用说了吧),第二个就是maven,之前我们是通过手动导入jar包的方式(现在想想这种方式真是非常之愚蠢)。推荐使用3.5.0的吧。这两个安装完毕后就可以去访问http://start.spring.io/这个地址,这个是SPRING INITIALIZR工具产生基础项目。
这里写图片描述
最上面的是选择什么构建方式,这里我们选择maven,还有就是使用什么语言以及spring boot的版本
下面就是包名以及服务名,还有最右边的就是需要依赖什么包,我们这边直接忽略,填写好基本之后就直接点击generate project这个按钮.就会下载一个叫demo的压缩包,我们解压他,然后去我们的esclipse里面进行maven项目的导入。可以看到如下的文件目录
这里写图片描述

打开代码,我们就看到了一个这样的java类,DemoApplication.java 他就是我们spring boot运行的入口。
我们需要引入web的包

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

然后我们去编写第一个通过浏览器来访问的web demo。
这边我为了简单我就直接在主类里面添加了
我们直接添加如下的代码

@SpringBootApplication
@RestController
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

     @RequestMapping("/demo")
    public String test(){
        return "first demo!";
    }
}

在resources里面有个配置文件,他可以定义我们启动的端口号,默认启动的是8080,我们直接点击run as spring boot application。
这里写图片描述
我们通过浏览器访问可以看到这个界面:
这里写图片描述
我们通过在application.properties进行配置文件的修改,修改一下端口号:
server.port=8910
这时候重新启动项目的时候发现端口号已经改变了:
这里写图片描述
我们spring boot框架内部是嵌入了tomcat所以可以直接运行。
通过上面的demo是不是发现非常快速的完成了一个简单的web项目的搭建啊,快速搭建只是spring boot最基本的功能,后面还有好多好多更好的东西

猜你喜欢

转载自blog.csdn.net/u013825231/article/details/79685710