SpringBoot概念、创建和运行

news2024/10/7 20:30:37

文章目录

  • 什么是Spring Boot ?为什么要学Spring Boot ?
  • Spring Boot 优点
  • Spring Boot 项目创建
  • 项目目录介绍和运行
  • 约定大于配置

什么是Spring Boot ?为什么要学Spring Boot ?

Spring 的诞生是为了简化 Java 程序的开发的,虽然 Spring 要比 Servlet 简单,但是业界的大佬们觉得还没将 Java 开发简化到极致,于是就有了Spring Boot。Spring Boot 的诞生是为了简化 Spring 程序开发的

Spring Boot 翻译⼀下就是 Spring 脚手架,什么是脚手架呢?如下图所示:

在这里插入图片描述

脚手架具有以下作用:

1、堆放及运输一定数量的建筑材料。
2、保证施工人员在高处作业时的安全。
3、满足短距离的水平运输要求。脚手架是建筑施工I过程中必须使用的重要设施,对施工安
全、工程进度和施工质量有着直接影响。

而 Spring Boot 就是 Spring 框架的脚手架,它就是为了快速开发 Spring 框架而诞生的

Spring Boot 优点

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架
  • 内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序
  • 快速部署项目,无需外部容器即可启动并运行项目
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的方式进行开发
  • ⽀持更多的监控的指标,可以更好的了解项项目的运行情况

Spring Boot 项目创建

新建一个Spring boot 项目
第一步:

在这里插入图片描述

第二步:

在这里插入图片描述

第三步:

在这里插入图片描述

第四步:

在这里插入图片描述

第五步:

在这里插入图片描述

到现在为止,项目已经创建好了,可以尝试着运行一下,如果有 Spring Boot 的 图标和运行时间,则Spring Boot 的项目已经创建成功

在这里插入图片描述

在这里插入图片描述

注意事项
第⼀次打开 Spring Boot 项⽬需要加载很久,因为当前 Spring Boot 框架并没有在自己的本地仓库

为了加速 Spring Boot 项目的下载,在打开项目之前,请先确认自己的 Maven 已经配置为国内源,如果没有配置,可以查看我之前写的博客,进行配置—》配置国内源–在1.2小节中

项目目录介绍和运行

在这里插入图片描述

Spring Boot 项目有三个主要的目录

  • src/main/java 为 Java 源代码
  • src/main/resources 为静态资源或配置文件
    /static:静态资源文件夹,例如html,js,css,img…
    /templates:模版资源文件夹
    application.properties,配置文件
  • src/test/java:里面的代码和 src/main/java 中的代码一模一样,主要用于单元测试

在这里插入图片描述

这四个文件和 Spring Boot 项目不相关,可以删掉

前面我们已经测试过Spring Boot 项目能正常启动,现在可以编写代码,输出 “Hello Spring Boot”

在和启动类(SpringBoot1Application)同级目录下,这时候 Spring Boot 项目才能正常的将 bean 注入到容器中。

在 demo 下新建一个 UserController 类

在这里插入图片描述

代码具体如下:

@Controller
public class UserController {
    @ResponseBody // 表示返回一个非静态页面的数据
    @RequestMapping("sayhi") //设置路由地址 sayhi,建议写成小写
    public String sayHi() {
        return "hello Spring Boot";
    }
}

然后启动项目,在浏览器中访问 http://127.0.0.1:8080/sayhi ,如果页面能正常显示并且有数据,表示运行成功

在这里插入图片描述

约定大于配置

以上情况反应了 Spring Boot 项目的另⼀个特点:约定大于配置

对比 Spring 的项目我们也可以看到这⼀特点,比如在 Spring 中也是要配置 Bean 的扫描路径的,才能将 Bean 对象 注入到容器中,而在 Spring Boot 项目中,我们并没有配置过扫描路径,为什么也能将 Bean 对象注入到容器中。
因为 Spring Boot 规定,需要被 Spring Boot 托管的对象必须要放在与启动类同级的目录下或者子目录下,也就是 demo 目录下,才能被识别

如果我们不按照规定,将 UserController 放在 example 目录下,与 demo 目录同级,则不会被扫描到,例如:

在这里插入图片描述

此时再次启动项目,进行访问

在这里插入图片描述

Spring Boot 的配置是比较少的,但是 Spring Boot 的设计思想是:约定大于配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外汇天眼:外汇市场为何在周末休市?为什么周末行情有波动?

虽然从理论上而言,货币市场从不休市,但您很难见到有人在周日交易。新手甚至会认为,交易活动的停止是因为外汇经纪商周末休息。但如下文所述,实际情况并非如此。 外汇市场中的主要参与者 货币交易主要是为了促进贸易和旅游业。而且…

助推专精特新企业数字化的低代码

近两年,“专精特新”成为行业的热门词。根据工信部的定义,“专精特新”中小企业,是指具有专业化、精细化、特色化、新颖化等特点的企业。它们多专注于产业链上某个环节,主营业务聚焦,同时具有较强大的创新能力、创新活…

PG::Potato

nmap -Pn -p- -T4 --min-rate1000 192.168.171.101 nmap -Pn -p 22,80,2112 -sCV 192.168.171.101 打开80端口未发现可利用的服务 尝试对路径爆破,同时FTP可匿名访问,查看FTP内是否有可用信息 dirb http://192.168.171.101 在FTP中得到了网站源码的…

跑通Intellij Platform Plugin项目

目录需求描述尝试方向1. 用2022.1版本运行2. 用2019.2版本运行结论需求描述 在研究DDD逆向建模支持工具的过程中,需要复现期刊作者的cargo项目,实现C2MD,即代码转UML的功能。虽然按照文章的要求安装DddTool插件,但是不能成功使用…

第三次上机作业 大连理工大学

8.7 某种电子元件的寿命x(单位:小时)服从正态分布。现测得16只元件的寿命如下 是否有理由认为元件的平均寿命显著地大于225小时(a=0.05)? data = read.csv("习题8.7.csv") t.test(data$寿命,mu = 225,alternative = "greater")p值小于0.05,不能认为认…

Python CNN卷积神经网络实例讲解,CNN实战,CNN代码实例,超实用

一、CNN简介 1. 神经网络基础 输入层(Input layer),众多神经元(Neuron)接受大量非线形输入讯息。输入的讯息称为输入向量。 输出层(Output layer),讯息在神经元链接中传输、分析、权…

3.Linux传统性能检测工具——vmstat

命令&#xff1a;vmstat <duration> 参数duration&#xff1a;统计间隔如果不加参数则输出自启动以来的统计结果&#xff08;注意&#xff1a;输出的第一行总是为该结果&#xff08;除memory counter相关数据以外&#xff09;&#xff09; 输出示例&#xff1a; 虽然vmst…

nVisual部署之nginx配置说明

Nginx 是一个高性能的HTTP和反向代理web服务器&#xff0c;因此nvisual在部署前端包时便采用了它作为服务器&#xff0c;版本使用1.14.1以上。在默认的配置下&#xff0c;还需要向nginx各模块添加配置才能达到生产需要。 接下来&#xff0c;从http模块开始&#xff0c;再到ser…

英文Paper写作需要了解哪些信息?

写Paper最重要的一点就是要仔细理解&#xff0c;Paper的题目告诉了哪些信息。 The most important thing about writing paper is to carefully understand what information the paper title tells you. 你应当精度每一个单词&#xff0c;从中找到尽可能多的指导。然后需要考虑…

历届图灵奖得主盘点

图灵奖&#xff0c;全称A.M.图灵奖&#xff08;ACM A.M Turing Award&#xff09;&#xff0c;是由美国计算机协会于1966年设立的计算机奖项&#xff0c;名称取自艾伦麦席森图灵&#xff0c;旨在奖励对计算机事业作出重要贡献的个人 。图灵奖对获奖条件要求极高&#xff0c;评奖…

STC 51单片机43——看门狗

看门狗测试&#xff0c;通过修改delay函数的延时长度&#xff0c;可以看到看门狗是否复位系统。 #include <reg52.h> sfr WDT_CONTR 0xE1; //声明WDT_CONTR void delay(void){ unsigned char i,j,k; for(i0;i<255;i) for(j0;j<2…

测试大老都是怎么理解cookiesession的?

为什么要学习cookie和session呢&#xff1f;若是没有掌握cookie和session的会话机制&#xff0c;就不了解客户端与服务器之间的交互通信原理&#xff0c;也就定位不了产生bug的原因。 cookie与session他们是如何理解的呢&#xff1f; 1、cookie与session区别&#xff1f; co…

笔试强训48天——day21

文章目录一. 单选1. 设一个有序的单链表中有n个结点&#xff0c;现要求插入一个新结点后使得单链表仍然保持有序&#xff0c;则该操作的时间复杂度&#xff08;&#xff09;2. 在一个单链表中&#xff0c;若删除 P 所指结点的后续结点&#xff0c;则执行?3. 设一个链表最常用的…

Thread的使用、线程的几个重要操作和状态【JavaEE初阶】

一、Thread类的常见构造方法 Thread()&#xff1a; 默认无参构造方法&#xff0c;如 &#xff1a;Thread t1 new Thread()&#xff1b; Thread(Runnable target)&#xff1a; 使用 Runnable 创建一个任务&#xff0c;再把 任务 放到线程里面&#xff0c; 如 Thread t2 new Th…

Kamiya丨Kamiya艾美捷小鼠血红蛋白ELISA说明书

Kamiya艾美捷小鼠血红蛋白ELISA预期用途&#xff1a; 小鼠血红蛋白ELISA是一种高灵敏度的双位点酶联免疫分析&#xff08;ELISA&#xff09;小鼠生物样品中血红蛋白的测定。仅供研究使用。 引言 血红蛋白&#xff08;HM&#xff09;是红细胞中的含铁氧转运蛋白。它吸收肺部的…

[附源码]计算机毕业设计springboot行程规划app

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Vue.js 加入高德地图的实现方法

一、功能需求 1.根据输入内容进行模糊查询&#xff0c;选择地址后在地图上插上标记&#xff0c;并更新经纬度坐标显示 2.在地图点击后&#xff0c;根据回传的左边更新地址信息和坐标显示 二、准备 1.申请高德地图账号&#xff0c;创建应用 2.在应用管理中 获得key 和安全密…

如何获取Power VR GPU数据

什么是Power VR PowerVR 是Imagination公司生产的一种GPU系列。早期的苹果A系列芯片优秀的GPU性能大多是基于Power VR GPU实现的。从早期的游戏机实体建模到现在的移动终端设备图形计算中都能够见到它的身影&#xff0c;虽中间有多次动荡&#xff0c;至今依旧在汽车HMI系统中占…

面板模型进行熵值法分析

背景说明 熵值法&#xff08;熵权法&#xff09;是一种研究指标权重的研究方法&#xff0c;比如有5个指标&#xff0c;分别为指标1到指标5&#xff0c;并且有很多样本&#xff08;比如100个样本&#xff09;&#xff0c;即100行*5列数据&#xff0c;此时研究该5个指标的权重分…

可编程直流电源的特点都有哪些呢?

可编程直流电源是用数字或编码器输入&#xff0c;非电位器调节电压、电流的直流电源。无论是在研发&#xff0c;还是生产测试中&#xff0c;可编程直流电源的宽范围电压输出都适于测试和分析组件、电路、模块和完整器件的特性。那么可编程直流电源的特点都有哪些呢?下面安泰测…