SpringBoot 第一篇:入门篇

作者:追梦1819
原文:https://www.cnblogs.com/yanfei1819/p/10819728.html
版权声明:本文为博主原创文章,转载请附上博文链接!

前言

  博主从去年开始,项目中使用的框架逐渐被 SpringBoot 取代。今年独立负责的两个项目也都是用 SpringBoot ,看过不少资料、博客。网上的资源,内容有长有短,参差不齐。有的内容甚至存在误导性,误导读者从一个坑跳进另一个坑。另外,在项目中使用的 SpringBoot 的功能比较零散。

  基于此,想系统整理其相关的知识点以及项目中踩得坑,并记录。一是作为自己的一个成长笔记,一是提醒后来的新人绕过已经踩过的坑。

  此为本系列博客的写作初心。


## 概念

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

  springboot 不是一门新技术。它是一个简化Spring应用开发的一个框架,整个Spring技术栈的一个大整合,更提供了J2EE开发的一站式解决方案。

  博主更愿意把它理解为一个技术平台(不知道这样理解是否合适,欢迎大佬拍砖),几乎把所有的Java主流技术都整合进去,让开发者“随用随取”,不会陷入到繁杂的配置文件中无法自拔。


优点

  1. 自动化配置(springboot的核心特性);

  2. 简化spring的配置,无需xml配置文件;

  3. 内嵌了Tomcat、Jetty等容器;

  4. 直接运行jar包;

    ......


## 核心

spring 应用程序开发中,有四个核心:

  • 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
  • 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
  • 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
  • Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。

由于篇幅所限,此处先接触一下基本概念,不做深入讲解。后续会一一展开。


快速构建项目

maven构建项目

  1. 进入SpringBoot 项目构建网站 https://start.spring.io/ (如下);

  1. 选择对应的工具、语言、版本、相关信息、依赖等,按住 alt + Enter 下载,然后解压,导入IDE。

IDEA 构建项目

  个人推荐使用 idea 构建, 方便,简洁,“傻瓜式”构建,直接 下一步 即可。感兴趣的可以参照之前的博客:https://www.cnblogs.com/yanfei1819/p/7798499.html


### 项目结构说明

如上图所示,Spring Boot项目的基础结构共三个文件:

  • src/main/java 程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 测试程序
  • DemoApplication 类是程序入口
  • application.properties 是程序配置文件

在引入web模块后,src/main/resources/static 是静态资源文件放置路径;src/main/resources/template 是使用模板引擎时放置的 .html 静态页面。还有其他的一些路径,后续会一一阐述。


### 程序启动

  程序员的入门课一般都是 Hello Word! ,下面我们演示 SpringBoot 版的 Hello Word!

创建controller层:

package com.yanfei1819.demo.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * Created by 追梦1819 on 2019-05-06.
 */
@Controller
public class HelloWordController {
    @ResponseBody
    @GetMapping("/helloWord") // <===> @RequestMapping(value = "/helloWord",method = RequestMethod.GET)
    public String helloWord(){
        return "Hello Word,SpringBoot!";
    }
}

注意两点:

  1. @GetMapping("/helloWord") 等价于 @RequestMapping(value = "/helloWord",method = RequestMethod.GET)
  2. 加上 @ResponseBody 后,返回结果不会被解析为跳转路径,而是直接写入返回值中。如果不加,则会解析为跳转路径;
  3. 程序默认的端口号是 8080,可以通过 application.properties 配置文件的 server.port= 进行修改。

以上程序通过 postman 测试结果是:


总结

  SpringBoot 涉及的内容很多,如果没有一个系统的主线去学习,会感觉很零散。以上内容作为本系列博客的入门篇。后续会将 SpringBoot 的功能点一一展开。
  源码:我的GitHub

本文同步于公众号【技术和人生】,欢迎关注。

posted @ 2019-05-06 15:14  追梦1819  阅读(1350)  评论(4编辑  收藏  举报