美文网首页
一.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