SpringBoot入坑指南之一:开篇

开篇语

作为一位将近十年的老码农,在刚进入软件行业的时候,正是EJB大行其道的时候,Spring刚刚发布3.0版本,那时候还没有一统江湖的气势。随后几年,Spring迅速形成燎原之势,社区火热,各种教材层出不穷,逐渐已经成为J2EE的事实标准,再也没人提EJB了。各式各样的组件都对Spring提供支持,Spring也越来越庞大,配置越来越复杂,单单是介绍Spring配置都可以写一本书,曾几何时,对Spring各种配置信手拈来是一个老码农的标志了。
Spring社区也逐渐察觉这个问题,随着微服务概念越来越火,如何使得开发人员能够开始构建一个服务越来越迫切,于是,在2014年,Spring发布了Spring Boot 1.0版本。Boot单词的中文意义是引导器的意思,Spring Boot并不是为了替代Spring框架,它的核心作用就是引导用户快速使用Spring框架,底层核心还是Spring(最终还是Ioc和Aop)。
Spring Boot提出并推广了一个核心概念:“约定高于配置”。我觉得这才是Spring Boot的最大功劳,在中国这个互联网环境,提倡的是快速试错,在这个浮躁的环境下,有多少个公司能够完善技术文档,我个人最近几年经历的公司,有创业公司也有上市公司,能够说得上文档完善的可以说没有。这种情况下,如果开发人员都按约定俗成的做法来,不搞个(挖)性(大)化(坑),那么后面接手的人也会舒服一点。

为什么写系列文章

我是从2016年开始使用Spring Boot实际开发项目,2017年开始在生产环境使用Spring Cloud和Docker,但是以前一直没有没有写东西的习惯,最近几年随着年龄的增长,一直在思考当一个程序猿30岁之后应该怎么保持自己的学习和成长。首先一个就是需要将自己的学习或者经历进行归纳整理,梳理自己的知识栈,让大脑里面的知识更有条理性,如果30岁之前是积累经验,那么30岁之后就是要通过归纳整理得到自己的思想的时候。
《Spring Boot入坑指南》系列文章没确定写多少篇,会按思路一直写下去,争取每周更新,每篇对其中一个功能点进行介绍。

Spring Boot的作用

如上文,Spring Boot的核心思想是“约定高于配置”,基于这个核心思想,Spring Boot实现了什么作用呢,在我看来,Spring Boot的最大作用包括两点:

  • 开箱即用:通过Starter模块实现各种组件的依赖和使用。
  • 快速部署:推荐使用内嵌容器的方式实现web服务的构建和部署。

搭建一个Spring Boot Web服务

在开篇中,首先介绍一下如何通过Spring Boot快速搭建一个web服务,只需要3步就可以搭建一个Restful接口的web服务。

  • 1.创建项目,引入依赖
    创建一个Maven项目,引入spring-boot-starter-web依赖:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.0.5.RELEASE</version>
            </dependency>
  • 2.编写启动类
    编写SpringBoot项目启动类,代码如下:
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  • 3.编写接口类
    编写一个示例业务接口,返回字符串:
@RestController
public class HelloController {

    /**
     * 示例接口
     *
     * @return
     */
    @GetMapping("/hello")
    public String hello() {
        return "Hello,Spring Boot!";
    }
}

大功告成,启动服务访问接口!
通过Application类中的main方法启动服务,访问示例接口:http://localhost:8080/hello

7584230-9e9cb89051c3a13a.png
image.png

示例代码地址:https://gitee.com/centy/spring-boot-examples

结语

在上面的示例项目中,你会发现示例代码中没有任何的配置文件,但是程序就通过8080端口启动起来了,这就是“约定高于配置”的思想了,按照约定俗成,tomcat容器默认端口就是8080端口,如果你没有“告诉”它需要修改端口,那它就按约定来咯。

ps:后续文章会介绍Spring Boot自动化配置的机制

猜你喜欢

转载自blog.csdn.net/weixin_33910759/article/details/87351153