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. Abp vNext框架 基础知识 依赖注入

    依赖注入 ABP的依赖注入系统是基于Microsoft的依赖注入扩展库(Microsoft.Extensions.DependencyInjection nuget包)开发的.因此,它的文档在ABP中 ...

  2. SwiftUI(一)- VStack、HStack、ZStack布局

    SwiftUI是什么 懒得写,直接找了一篇博客: 初识 SwiftUI 三种布局 SwiftUI包括三种布局: VStack: 纵向布局,默认居中对齐 HStack: 横向布局,默认居中对齐 ZSta ...

  3. 7.17考试总结(NOIP模拟18)[导弹袭击·炼金术士的疑惑·老司机的狂欢]

    问灵十三载,等一不归人. 前言 这回考试全靠 T2 了,别的基本上没分(菜) 总感觉最近进度有亿点快,每天都在补坑,每天都在留坑.... T1 导弹袭击 解题思路 因为这个题的两种长度是不一定的,因此 ...

  4. 安装图形化界面时候报错 Transaction check error: file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch

    报错 Transaction check error:file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x8 ...

  5. BLP 模型

    公号:Rand_cs BLP 模型 本篇文章是调研了许多资料后对 BLP 模型的一个总结 MLS,Multi-level Security,主要关心的是数据机密性 D. Elliott Bell 和 ...

  6. INFINI Labs 产品更新 | Easysearch 1.7.1发布

    INFINI Labs 产品又更新啦~,包括 Console,Gateway,Agent 1.23.0 和 Easysearch 1.7.1.此次版本重点修复历史遗留 Bug .网友们提的一些需求等. ...

  7. vm ware 安装 ubuntu server linux

    在:https://ubuntu.com/download/server 中下拉找到"Ubuntu Server 20.04 LTS",下载ISO. 在VM WARE 中,如果鼠标 ...

  8. 在阿里云WINDOWS机器上部署的JAVA SpringBoot 时不时的无效 。

    用telnet 能通.但代码的HTTP 访问不了. 解决方法,在运行时加-Dserver.address=0.0.0.0,让它监听所有: java -Dserver.address=0.0.0.0 - ...

  9. ES备份恢复

    1.官网提供snap快照备份恢复 https://www.elastic.co/guide/en/elasticsearch/reference/7.9/snapshot-restore.html 环 ...

  10. html 适配iphone X 底部导航

    html 适配iphone X 底部导航 适配手机底部有横线的手机,以免被横线遮挡 padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iO ...