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. 谁说爬虫只能Python?看我用C#快速简单实现爬虫开发和演示!

    前言:说到爬虫,基本上清一色的都知道用Python,但是对于一些没玩过或者不想玩Python的来说,却比较头大一点.所以以下我站在C# 的角度,来写一个简单的Demo,用来演示C# 实现的简单小爬虫. ...

  2. 薄书的Gitee 码云使用教程学习纪录

    git 使用帮助 参考: https://www.liaoxuefeng.com/wiki/896043488029600/1163625339727712 https://blog.csdn.net ...

  3. github无法提交代码问题

    问题描述 提交代码到个人仓库的时候发现报错,认证失败 Username for 'https://github.com': hywing Password for 'https://hywing@gi ...

  4. Github Markdown 指定图片在光亮或暗黑模式展示

    Github 根据系统配置不同的主题模式: 如果想要在光亮模式和暗黑模式显示不同的主题的图片,比如以下就是同一个图片在暗黑模式和光亮模式下展示: 解决方案 在markdon 的图片链接后添加#gh-d ...

  5. jquery的绑定和删除

            // 基本语法形式 $().on( 事件类型 , 事件处理函数 )         // 删除事件处理函数         // 必须绑定的是 函数名称 才能删除 绑定的事件处理函数 ...

  6. 三维API sheder 基础

    这个shader 是靠三维数学 影响 二维像素 导致像素颜色改变 它是每个像素走一遍脚本算法 写的时候注意 语言格式 写错了 shader脚本是不能用的,根本就不好使这个 可以用区域 用xyz y为0 ...

  7. UDP端口探活的那些细节

    一 背景 商业客户反馈用categraf的net_response插件配置了udp探测, 遇到报错了,如图  udp是无连接的,无法用建立连接的形式判断端口. 插件最初的设计是需要配置udp的发送字符 ...

  8. 开源的Datadog?可观测性平台SigNoz是否名副其实?

    SigNoz号称自己是开源领域的Datadog,基于OpenTelemetry做了一套可观测性方案.夜莺从V6版本开始,也希望做全栈可观测性方案,巧了,大家目标一致,今天我们一起来对SigNoz做个初 ...

  9. 神奇的JavaScript弱等价类型转换

    JavaScript语言特性 - 类型转换 JavaScript这门语言的类型系统从来没有它表面看起来的那样和善,虽然比起Java.C#等一众强类型语言,它的弱类型使用起来似乎是如此便利,但正因为它极 ...

  10. element el-input 去掉边框

    element样式还是蛮好的,只是有时候我们需要做一些调整,比如,el-input 的边框,官网是这样子的 我们需要去掉这个边框 试了常用的:border: none:  以及:outline:non ...