美文网首页
一.SpringBoot入门(1)

一.SpringBoot入门(1)

作者: __y | 来源:发表于2018-07-25 09:19 被阅读120次

最近听到SpringBoot,微服务的关键词越来越多。问了一下在工作的朋友,他说他们好几个项目重构已经使用了SpringBoot了,感觉SpringBoot是未来的趋势,毕竟技术不断迭代,很多繁杂的东西终将会被抛弃~

1.SpringBoot简介

SpringBoot是用来简化Spring应用开发的,约定大于配置,去繁从简符合了时代的发展。just run就能创建一个独立的,产品级别的应用
背景:
回想一下我们刚学javaee的时候,学到框架知识的时候(目前流行的Spring,SpringMVC,Mybatis);整合起来脑袋非常疼,繁多的配置,不断的依赖,不断的配置bean,很多的时候时间都花在了搭建工程上面,真是想起来头都大!
解决:
发现了弊端,就要想解决方法,这个时候SpringBoot出现了,SpringBoot就是Spring的全家桶,请看以下的图片。从图片中我们可以看出SpringBoot集成了我们以前用过的很多东西,jdbc,SpringMVC等

image.png
优点:
  • 快速创建独立运行的Spring项目以及主流框架的整合
  • 使用嵌入式Servlet容器,应用无需打包成WAR包(连Tomcat也省了!!!)
  • starters自动依赖与版本控制(依赖都来这里啦!)
  • 大量的自动配置,简化开发,也可以修改默认值(还要看见xml吗?从此说拜拜!)
  • 无需配置XML,无代码生成
  • 准生成环境的运行时应用监控(随时随地,掌握信息!)
  • 与云计算的天然集成(高大上,不太懂。。。)

2.微服务

说到SpringBoot也不得不提一个最近也很火的概念----微服务;微服务是一位大牛提出来的,里面有详细的文章介绍(传送门:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa)。
单体应用
我们来看看我们以前传统的应用,我们以前一般都是All In One,就是所有功能,模块都写在同一个工程中

image.png

我们把所有的页面,代码都放在一个应用里面打包成war包放在tomcat里面,这种模式的优点是:开发测试简单,因为都是在一个应用里面,不涉及多个应用的互调等;容易部署;容易水平扩展,当我们一个服务器跑不动的时候,弄个集群,弄个负载均衡。缺点是:容易牵一发而动全身,改了某些功能,会影响整个系统的运作,又要重新部署;日益增长的软件需求,我们现在谈到一个分布式的概念,如果我们全部功能都集成在一个工程下面的话,我们的团队合作会受阻,维护也会成为问题
微服务
每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

image.png
微服务由于被分割成很多服务,因此对于运维和配置、部署也太麻烦了~那么怎么解决呢?
这就要用SpringBoot啦
观察一下官方SpringBoot的图,配置我们可以用SpringBoot来快速搭建,服务之间怎么通信调用呢,我们用SpringCloud,一些批处理怎么处理呢我们利用DataFlow来解决
image.png
微服务和SOA(面向服务的架构)的区别
在了解微服务的时候由于是分布式的,这个时候想起了以前接触过的一个知识点SOA架构,分享比价好的一篇文章
https://blog.csdn.net/yingzai1010/article/details/79459463

3.环境准备

利用SpringBoot开发,要准备一下环境

  • JDK1.8(推荐使用1.7以上)
  • maven3.X(我用的是3.3.9)
  • Idea(神器,赶紧上手吧)
  • SpringBoot 1.5.2.RELEASE;

4.创建一个SpringBoot案例

1.创建一个Maven工程


image.png

2.填写对应信息


image.png
3.导入相关依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐web</artifactId>
</dependency>
</dependencies> 

4.编写一个主程序

/**
 * @SpringBootApplication 标注一个主程序类,说明这是一个SpringBoot应用
 */
@SpringBootApplication
public class HelloApplication {

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

5.编写Controller

@ResponseBody
@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello SpringBoot";
    }
}

6.运行主程序
现在没有tomcat了我们怎么让程序跑起来呢?我们前面说了,SpringBoot有内嵌的Tomcat,因此我们直接运行主程序就好了


image.png
image.png

这样就是成功的了。
我们来访问一下这个路径,发现就是我们想要的结果


image.png
7.打成jar包部署
在pom.xml中加入
<!--这个插件,可以将应用打包成一个可执行的jar包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

运行打包


image.png

可以看到路径


image.png
复制一份放在任意盘,运行命令
image.png

可以看到运行成功了


image.png
试试访问?一样的结果
image.png

相关文章

网友评论

      本文标题:一.SpringBoot入门(1)

      本文链接:https://www.haomeiwen.com/subject/uwoymftx.html