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. Vue——方法(methods)

    我们用 methods 选项向组件实例添加方法,它应该是一个包含所需方法的对象: <div id="app"></div> <script> c ...

  2. vue-i18n 初体验

    vue-i18n 初体验 使用vue,如何国际化呢?采用 vue-i18n.(i18n,internationalization,i和n中间省略18个字符) vue-i18n 官网地址 https:/ ...

  3. 莫烦tensorflow学习记录 (7)循环神经网络 RNN & LSTM

    莫凡大佬的原文章https://mofanpy.com/tutorials/machine-learning/tensorflow/intro-RNN/ RNN 的用途 可以读取数据中的顺序,获取顺序 ...

  4. Vue3使用Composition API实现响应式

    title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: ...

  5. 在 Flask 项目中配置 Session:简明指南

    在 Flask 项目中配置 Session:简明指南 本文介绍如何在 Flask 项目中配置会话 1. Flask 内置会话 Flask 自带会话管理功能,使用客户端 Cookie 存储会话数据.默认 ...

  6. zkq 数学听课笔记

    线性代数 域 \(F\),OI 中常用的域是 \(\Z_{p^c}\). \(n\) 维向量 \(\vec x \in F^n\),其中 \(x_i \in F\),注意向量是列向量. \(F^n\) ...

  7. 白话理解和使用DOCKER VOLUME

    Docker使用Volume来管理宿主机和容器内数据的映射  什么是数据卷(Volume)Docker镜像被存储在一系列的只读层中.当我们创建一个容器时,Docker会读取镜像(只读),并在其顶部添加 ...

  8. php监控

    1.开启php的监控数据监控功能 # 使用部署了php-fpm的机器即可 # yum install php-fpm -y # 1.修改参数 [root@web-7 /etc/php-fpm.d]#g ...

  9. typescript class属性定义的先后问题

    example e.g. 1 e.g. 2 e.g. 3 解释 在 typescript 中 定义一个 class class 的 constructor 里面的语句在转义成 JavaScript 之 ...

  10. iOS开发流程总结(新坑持续更新)

    [上线前流程] 将测试环境修改成正式环境 修改版本号,而且build version比version多一位,如version设置为1.0.1,那么build就设置成1.0.1.x:这么做的理由是,当你 ...