1、什么是Spring Boot

  Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
  We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.(来自spring官网)

  Spring Boot是一个简化Spring开发的框架。用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用。

简单的说就是Spring Boot集成了Spring框架该有的东西,当你想要使用时只需要配置相应的Spring Boot组件就能够使用,不用像之前搭建ssm项目配置一堆的xml。

2、Spring Boot特点

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
 
3、关于Spring Boot特性
 (1)开箱即用(out-of-box),在我理解开箱即用主要就是一个功能--自动,在我们创建一个Spring Boot项目时,可以通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这样就大大节省了配置xml的过程,虽然在开发新项目时可以直接套用之前用过的xml模版,但有的时候并不是每一个配置都是一样的,修改配置测试也需要花费一定程度的精力和时间,而使用Spring Boot就会使得我们在开发的过程中摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。
 (2)约定优先于配置(Convention over configuration),也称作按约定编程是一种软件设计范式。目的在于减少软件开发人员所需要做出的决定的数量,从而获得简单的好处,而又不失去其中的灵活性(但是会降低部分灵活性),同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。开发人员仅仅需要规定应用中不符合约定的部分。例如,如果模型中有个名为Sale的类,数据库中对应的表就会默认命名为sales。只有在偏离这一约定的时候,比如将该表命名为"products_sold",才会需要写有关这个名字的配置。如果所用工具的约定与你的期待相符,便可省去配置;反之,你可以配置来达到你所期待的方式。

 

约定优于配置体现点:

引自 https://www.cnblogs.com/panxuejun/p/6710888.html

1.maven的目录文件结构  

  1)默认有resources文件夹,存放资源配置文件。src-main-resources,src-main-java默认的编译生成的类都在targetwen  
  2)默认有target文件夹,将生成class文件盒编程生成的jar存放在target文件夹下
2.spring boot默认的配置文件必须是,也只能是application.命名的yml文件或者properties文件,且唯一  
  spring boot默认只会去src-main-resources文件夹下去找application配置文件

快速创建一个Spring Boot项目

工具:Idea+maven+jdk(1.8)
小编以下配置主要针对于jdk版本是1.8的,因为更高的版本在使用的时候会有各种问题,目前我还没搞清楚

首先,使用的maven的setting.xml需要做一个修改,也就是将关联的jdk版本设置成1.8

如果jdk版本不一样,在编译的时候会报错

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile

打开idea,进入创建项目,选择 Spring Initializr ,然后选择默认的 url 点击【Next】


然后修改项目信息group和artifact,然后点击【Next】


勾选以下配置web,否则在项目创建的时候会缺少spring-boot-starter-web依赖


选择项目位置,点击FINISH完成创建



目录结构如下,如过是第一次配置的话可能会比较慢,因为要在远程中央工厂下载相关依赖

默认生成的东西有几下几个

(1)SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序
(2)SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
(3)application.properties:一个空的 properties 文件,可以根据需要添加配置属性
(4)pom.xml: Maven 构建说明文件,添加依赖使用


NOW: 现在测试项目是否创建成功

首先:找到启动类所在的包,创建一个control包,并创建一个测试类。我写的是HelloWorld.java

如下图:

谨记在类名上添加注解@RestController。成功启动项目后,在浏览器页面输入http://localhost:8080/hello访问,输出Hello World即可算是成功;

spring boot 快速入门(一)创建一个简单的Spring Boot项目的更多相关文章

  1. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)

    接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...

  2. 创建一个简单的Spring应用

    环境已经安装完成,接下来创建一个简单的Spring应用. 创建Spring应用步骤: 创建一个maven项目 添加spring库依赖 创建Bean类 添加Bean的xml装配文件 创建主类 运行应用程 ...

  3. 用Eclipse 创建一个 简单的 Maven JavaWeb 项目

    使用Maven 创建一个简单的 javaWeb 项目: 本篇属于 创建 JavaWeb 项目的第三篇: 建议阅读本篇之前 阅读 用 Eclipse 创建一个简单的web项目  ;本篇是这这篇文章的基础 ...

  4. Spring Boot 快速入门 史上最简单

    1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的 ...

  5. 【Spring Boot】创建一个简单的Spring Boot的 Demo

    走进Spring Boot 文章目录 走进Spring Boot 环境搭建 新建Spring Boot项目 开始创建项目 配置JDK版本 和 Initializr Service URL 配置Proj ...

  6. WCF入门, 到创建一个简单的WCF应用程序

    什么是WCF?  WCF, 英文全称(windows Communication Foundation) , 即为windows通讯平台. windows想到这里大家都知道了 , WCF也正是由微软公 ...

  7. Angular2快速入门-2.创建一个新闻列表

    背景: 我们想通过一个例子,展示下Angular2 怎么绑定页面,怎么创建Component, 例子:我们创建一个新闻列表,当点击新闻列表中某一条新闻的时候,展示出该条新闻的详细信息, 在详细信息中可 ...

  8. Spring Boot快速入门(一): Hello Spring Boot

    原文地址:https://lierabbit.cn/articles/2 一.准备工作 java环境:jdk 1.8 开发工具:idea 二.创建项目 打开idea 点击Create New Proj ...

  9. Angular2快速入门-4.创建一个服务(创建NewsService提供数据)

    上篇我们使用的数据是通过mock-news.ts中的const News[] 数组直接赋给Component 组件的,这篇我们把提供数据的部分单独封装成服务 第一.创建news.service.ts ...

  10. 创建一个简单的 Springboot web项目

    1.点击Project 2.点击 Next 3.项目名 4.web 项目 4.确认 5.pom.xml <?xml version="1.0" encoding=" ...

随机推荐

  1. tkinter小例子

    from tkinter import * def on_click(): label['text'] = text.get() root = Tk(className='hello') root.m ...

  2. WPF开发快速入门【6】下拉框与枚举类型

    概述 本文讲述下拉框和枚举类型进行绑定的一些操作. 下拉框的基本操作 设计部分: <ComboBox ItemsSource="{Binding Fruits}" Selec ...

  3. ProcessStartInfo 类

    定义 命名空间: System.Diagnostics 程序集: System.Diagnostics.Process.dll 指定启动进程时使用的一组值. C#复制   public sealed ...

  4. PaddleOCR在 windows下的webAPI部署方案

    很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了.本文将介绍一种基于python的PaddleOCR识方案.喜欢的可以关注公众号,获取更多内容. # 一. windows ...

  5. rhce练习题容易错的地方

    rhce练习题里容易错的地方 使用导航器的时候,ssh连接 因为导航器是一个工具,生成一个容器,在容器里面运行playbook 安装软件包的时候,多个软件包使用循环loop loop的格式 - hos ...

  6. [SWPUCTF 2021 新生赛]gift_F12

    首先我们打开环境会发现花里胡哨的,而题目中有提示:F12,所以我们直接F12查看源码 然后ctrl+f信息检索flag.直接找到flag提交 但要注意提交格式为NSSCTF{}

  7. 机器学习决策树ID3算法,python实现代码

    机器学习决策树ID3算法,python实现代码 看到techflow介绍ID3算法,中间有代码示例.代码尝试执行力下,发现有错误. https://www.cnblogs.com/techflow/p ...

  8. OpenWrt安装配置Tailscale

    什么是tailscale? Tailscale就是基于Wireguard的一个联网工具,无需公网地址,通过去中心化,实现各个节点之间点对点的连接.配置简单友好,支持的各类平台和客户端. 相比较其他组网 ...

  9. 微信支付or支付宝支付调用流程图

    微信支付or支付宝支付调用流程图 支付宝小程序支付调用流程https://opendocs.alipay.com/mini/03l735 微信H5支付调用流程https://pay.weixin.qq ...

  10. 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上)

    目录 前言 一.需求分析 1.1发送通知 1.2撤回通知 1.3通知消息数 1.4通知消息列表 二.数据模型设计 2.1概念模型 2.2逻辑模型 三.关键流程设计 本篇小结 前言 消息通知系统(not ...