SpringBoot 第一篇:入门篇 – 追梦1819 – 博客园

栏目: Java · 发布时间: 5年前

内容简介:来源:博主从去年开始,项目中使用的框架逐渐被 SpringBoot 取代。今年独立负责的两个项目也都是用 SpringBoot ,看过不少资料、博客。网上的资源,内容有长有短,参差不齐。有的内容甚至存在误导性,误导读者从另一个坑跳进另一个坑。另外,在项目中使用的 SpringBoot 的功能比较零散。基于此,想系统整理其相关的知识点以及项目中踩得坑,并记录。一是作为自己的一个成长笔记,一是提醒后来的新人绕过已经踩过的坑。

来源: SpringBoot 第一篇:入门篇 – 追梦1819 – 博客园

前言

博主从去年开始,项目中使用的框架逐渐被 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/  (如下);

SpringBoot 第一篇:入门篇 – 追梦1819 – 博客园

  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 第一篇:入门篇 – 追梦1819 – 博客园


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重构(影印版)

重构(影印版)

Martin Fowler / 中国电力出版社 / 2003-7-1 / 49.00元

随着对象技术应用越来越普及,软件开发社区出现了一个新的问题。缺乏经验的开发者编写出了大批设计较差的程序,导致这些应用程序非常低效,且难于维护和扩展。本书除了讨论重构的各种技巧之外,还提供了超过70个可行重构的详细编目,对如何应用它们给出了有用的提示;并以step by step的形式给出了应用每一种重构的指南;而且用实例展示了重构的工作原理。这些示例都是用Java语言写成的,但其中的思想却可以运用......一起来看看 《重构(影印版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具