前言

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

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

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




概念

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

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


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




优点

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

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

*
内嵌了Tomcat、Jetty等容器;

*
直接运行jar包;

......




核心

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

* 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
* 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
* 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
* Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。
由于篇幅所限,此处先接触一下基本概念,不做深入讲解。后续会一一展开。




快速构建项目

maven构建项目

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


* 选择对应的工具、语言、版本、相关信息、依赖等,按住 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!"; } }
注意两点:

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






总结

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

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

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信