SpringBoot的创建的使用

news2024/12/23 22:23:59

哈喽呀,你好呀,欢迎呀,快来看一下这篇宝藏博客吧~~~

目录

1、Spring Boot快速扫盲

 2、Spring Boot 项目创建

3、运行项目

4 、输出hello world

5、注意事项--包路径错误

6、小结


1、Spring Boot快速扫盲

在创建SpringBoot项目前,我们得先了解一下什么是Spring Boot,它和Spring有什么区别,还有就是我们为什么要学Spring Boot呢?

Spring的诞生是为了简化Java程序的开发的,而SpringBoot的诞生是为了简化Spring程序的开发的.

Spring Boot优点:

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

注意:Spring Boot不是Spring的替代品,Spring是通过IoC机制来管理Bean的,而Spring Boot是依赖Spring框架来管理对象的依赖的,Spring Boot 并不是Spring 的高级版本,而是为使用 Spring 做好各种产品级准备.


 2、Spring Boot 项目创建

我用的是Idea社区版,所以要先安装Spring Boot Helper 插件才能创建 Spring Boot 项目.在这里就不教大家如何去安装插件了~相信朋友学到这的话应该也会安装插件了吧~

接下来我们就直接来创建Spring Boot项目吧.

点击next;

 选择项目类型和java版本,点击next;

选择需要的第三方框架,点击next; 

选择路径,点击Finish。 

至此,Spring Boot项目的创建就完成了。

项目创建完成之后,我们先删除一些不必要的文件,这些文件删除之后对你的项目没有任何影响,留着反而会使你的目录显得臃肿。

以上四个文件都可以删除,对你的项目没有任何影响。

删除完成之后,我们再来看一下目录结构:

3、运行项目

点击启动类的main方法就可以运行啦

如果显示以下结果,就说明运行成功啦:

4 、输出hello world

学习javaee就是来实现Web项目或接口的,在这篇文章之前,我讲的有关Spring的只是一个普通Java项目,不能和游览器进行交互,接下来,我将用以上创建好的Spring Boot项目来实现和游览器的交互----在游览器上输入url,输出hello world

在创建的项目包路径下创建一个controller包,在此包下创建一个 UserController 类,实现代码如下:

启动该项目,游览器访问http://localhost:8080/hi/hello,最终结果如下:

 

5、注意事项--包路径错误

要知道,我们自己写的类要想被注入到Spring容器中,必须要将自己写的类放在与启动类相同的路径下,这样才会被扫描进去。比如就以上代码而言,启动类 DemoApplication 所在了路径为 D:\java-spring\springboot-test\src\main\java\com\example\demo\ ,所以我自己写的类也要放在D:\java-spring\springboot-test\src\main\java\com\example\demo\ 路径下,如果我要建包,那么包也要在这个路径下。因为Spring会扫描这个路径下的所有,然后将其存储到容器中。

现在我将上面的controller包移到别的路径,比如:

再比如:

这时候,我来启动一下项目,发现结果并不是我们预期的:

说明Spring Boot项目没有将对象注入到容器中。

总而言之就是,我们需要把自己想注入的类放到启动类的同级目录下才能被成功注入。

以上这种情况也说明了关于SpringBoot的一个特点:约定大于配置。简而言之就是,对于Spring Boot,不需要你去手动配置一些什么文件,你只需要按照它的约定来,剩下的它会自动帮你完成。对比一下Spring项目我们也可以发现Spring Boot的这一特点,⽐如在 Spring 中是要配置 Bean 的扫描路径的,⽽ Spring Boot 则不需要。


6、小结

Spring Boot是为了快速开发Spring而诞生的,Spring Boot具备:

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

Spring Boot 可以使用IDEA 或其官网上创建,它的设计思想是约定大于配置。


好啦,今天就到这啦,咱们下次再见吧~

 

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

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

相关文章

大数据1.5 使用Vim编辑器

一、安装Vim编辑器 执行命令:yum -y install vim 二、三种工作模式 1、命令模式 执行命令:vim test.txt,进入默认的命令模式 2、输入模式 在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中…

常见的排序算法

常见排序算法前言排序分类一、插入排序直接插入排序希尔排序二、选择排序直接选择排序堆排序三、交换排序冒泡排序快速排序1、hoare版本2、挖坑法3、前后指针版本快排时间复杂度分析快排的优化4、快排非递归实现(利用栈实现)5、快排非递归实现&#xff0…

节省时间的分层测试,到底怎么做?

为什么要做分层测试 从软件工程的角度,结合软件开发的V模型、MVC架构、测试金字塔,综合起来便于理解。 1、借鉴与软件开发的V模型 从V模型的底部往右上方向,先做单元测试,再做集成测试一直到最后的验收测试。 2、来源于MVC架构…

SSM房屋租赁系统

SSM房屋租赁系统该项目采用的技术实现一、系统功能技术栈二、关键代码1.首页运行截图总结该项目采用的技术实现 后台框架:Spring、SpringMVC、MyBatis UI界面:jQuery 、JSP 数据库:MySQL 提示:以下是本篇文章正文内容&#xff…

C++ 三大特性之-多态

简介 面向对象有三大特性:封装、继承、多态 多态:一个接口,多种实现 C有两种多态形式: 静态多态动态多态 静态多态 静态多态:编译期间的多态,即在编译阶段就能确定好最终要调用哪个方法。静态多态的函数调…

python简单实现网络爬虫

前言 在这一篇博客中,我会用python来实现一个简单的网络爬虫。简单的爬取一下一些音乐网站、小说网站的标题、关键字还有摘要!所以这个爬虫并不是万能爬,只针对符合特定规则的网站使用。(只使用于爬标题、关键字和摘要的&#xff…

[附源码]计算机毕业设计基于SpringBoot的在线作业批改系统

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

SORT4 SORT项目代码解析

SORT系列 SORT-1 项目配置运行-WINDOWS SORT-2 卡尔曼滤波推导和示例 SORT-3 匈牙利算法和SORT类 SORT-4 SORT项目代码解析 本项目地址 SORT项目逐层详解 main if __name__ __main__# 设置交互模式、参数、文件路径|# 创建 SORT 对象mot_tracker Sort(max_age, min_hits,io…

Python学习基础笔记二十七——内置函数

内置函数的概念:就是python直接提供给你使用的所有函数。 1、作用域相关: 1)globals(): 获取全局变量的字典; 2)locals():获取执行本方法所在命名空间内局部变量的字典; 2、迭代器…

(二)SpringCloud+Security+Oauth2 微服务初步集成

一 引言 本文主要好介绍了SpringCloudSecurityOauth2 的初步集成,项目源码地址oauth2.0集成案例,以下案例主要是核心源码的解释,案例源码请查看案例源码 二 项目结构说明 oauth-server oauth认证中心 oauth-client oauth客户端 oauth-nacos 注册中心和配置中心 oauth-common …

IDM究竟有哪些优势 IDM的几种超实用功能

作为一款体积只有10M的下载软件,IDM却常年霸占着各软件评测榜的前列。它的界面简洁清爽,使用过程中无弹窗、无广告,小小的体积竟能将下载速度提升5倍!该软件一进入中国市场,便受到了广大用户的追捧,被大家亲…

谁说Python只能用来敲代码,用Python来制作游戏你了解吗?

前言 Python的热度现在一直高居不下,比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。 那python还可以用来干什么?你知道哪些呢? (文末送读者…

HTML静态网页作业——基于html+css+javascript+jquery+bootstarp响应式成都家乡介绍网页

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

Python采集电商平台数据信息

环境介绍 python 3.8pycharm 2021专业版selenium >>> pip install selenium3.141.0 Python当中的模块 操作 浏览器的驱动Chrome浏览器Chromedriver 浏览器驱动 操作浏览器 让 浏览器帮助我们去执行一些操作 模块准备 from selenium import webdriver # 操作浏…

数钥科技遭用户投诉:“招集令”被指息费高,曾有助贷平台被处罚

融资难、融资贵,一直世界性难题。在此背后,是信息不对称的问题。 而利用信息不对称,不少助贷机构游走其中,也带来了一些新的问题,比如高额服务费、砍头息等,侵害消费者个人信息也是另外一个问题。此前&…

SQL——基础查询

查看列 查看特定列 select 姓名 from 学生表select 姓名,性别,家庭住址 from 学生表查看所有列 select * from 学生表使用计算列 求和 select sum(price) from fruit求个数 select count(price) from fruit求价格提升 select price*1.05 from fruit求库存数量 select (…

useState源码解读 及 手撕 useState 实现

文章目录useState源码解读 及 手撕 useState 实现useState源码分析逻辑图源码解读mountStatemountWorkInProgressHook 函数updateStateupdateReducer 函数实现对比图实现效果只声明一个 hook重复调用同一个 hook声明多个不同的 hooks体验收获useState源码解读 及 手撕 useState…

MySQL分区表对NULL值的处理

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:王权富贵 1.概述 MySQL的分区表没有禁止NULL值作为分区表达式的值,无论它是列值还是用户提供的表…

CPP 核心编程4-重载递增运算符

#include "iostream"using namespace std;//递增运算符重载 //自定义整型 class MyInteger {friend ostream &operator<<(ostream &cout, MyInteger mi);public:MyInteger() {m_Num 0;}//重置前置运算符 返回引用是为了对同一个数进行操作MyInteger …

LSTM内部结构及前向传播原理——LSTM从零实现系列(1)

一、前言 作为专注于时间序列分析的玩家&#xff0c;虽然LSTM用了很久但一直没有写过一篇自己的LSTM原理详解&#xff0c;所以这次要写一个LSTM的从0到1的系列&#xff0c;从模型原理讲解到最后不借助三方框架自己手写代码来实现LSTM模型。本文本身没有特别独到之处&#xff0c…