SpringBoot 第一篇:入门篇
作者:追梦1819
原文:https://www.cnblogs.com/yanfei1819/p/10819728.html
版权声明:本文为博主原创文章,转载请附上博文链接!
前言
博主从去年开始,项目中使用的框架逐渐被 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/ (如下);
- 选择对应的工具、语言、版本、相关信息、依赖等,按住
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 的功能点一一展开。
源码:我的GitHub
本文同步于公众号【技术和人生】,欢迎关注。
本文来自博客园,作者:追梦1819,转载请注明原文链接:https://www.cnblogs.com/yanfei1819/p/10819728.html