小白入门基础 - spring Boot 入门

1.简介

        spring Boot是为了简化java的开发流程而构建的,即使是使用springMVC框架,也依然需要大量配置和依赖导入,
        这无疑是繁琐的,spring Boot采用了”习惯由于配置“的原则,进行一键化部署,这样极大减少了人工开发量。

传统Spring开发流程:

 Spring Boot开发流程:

 Spring Boot在依赖管理、容器配置、组件参数这方面,都极大的优化了开发量。
开发者只需要专注于业务逻辑开发。

2.项目构建

1、目录创建以及依赖包引入

spring目录结构:

 2、创建一个项目:

3、引入项目依赖:

<parent><groupId>org.springframework.boot</groupId><!--所有spring都要依赖spring-boot-parent才能进行构建--><artifactId>spring-boot-parent</artifactId><version>2.0.1.RELEASE</version>
</parent>
<dependencies><dependency><groupId>org.springframework.boot</groupId><!--使用一些列starter启动器来描述工程所需要功能--><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>
<!--项目构建方式-->
<build><!--以插件的形式来进行构建--><plugins><plugin><groupId>org.springframework.boot</groupId><!--将所有的类和资源打包成一个独立的jar包--><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

SpringBoot会帮我们引入一系列的依赖包:

4、使用Maven构建Spring Boot

(1)创建控制器

@Controller
public class MyController {@RequestMapping("/out")@ResponseBodypublic String out(){return "success";}
}

(2)编写入口类

入口类名字:工程名+application单词

//说明这是一个SpringBoot应用的入口类
@SpringBootApplication
public class MySpringBootApplication {public static void main(String[] args) {//启动SpringBoot应用SpringApplication.run(MySpringBootApplication.class);}
}

这种启动方式和python中的django以及go中的beego类似了。

(3)应用启动

执行入口文件:

 springboot启动起来了。

5、访问浏览器:

springboot应用、部署、发步都已经启动起来了。
是不是特别简单了,再也不用使用tomcat来启动应用了。

6、Spring Initializr构建springboot应用

使用Maven手动创建的时候,需要构建项目结构,手动引入依赖包,创建入口类。
IDEA提供了向导工具Initizlizr,可以帮我们一键创建SpringBoot项目。

 项目配置:

 选择启动器:

创建完成之后,我们发现自动帮我们生成了各类文件配置。
自动生成了入口类:

@SpringBootApplication
public class Springbootdemo1Application {public static void main(String[] args) {SpringApplication.run(Springbootdemo1Application.class, args);}
}

 三:结尾

       现在大部分产品都是直接以SpringBoot为脚手架开发了,它的核心就是实现了自动装配,当然它的整个使用的核心依然是spring, 只不过通过它可以很高效率的编写spring应用,技术都是不断迭代的,在以前,Spring起项目的时候,繁杂的配置太多了。我们的重点是快速成型,先干活,后边有兴趣再研究也可以~ 框架这个东西首先要会用。好啦,本文就到此为止啦,希望能够对各位小伙伴有所帮助哦!

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

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

相关文章

214.【2023年华为OD机试真题(C卷)】测试用例执行计划(排序题-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-测试用例执行计划二.解题思路三.题解代码Pytho…

Java解决峰与谷问题

Java解决峰与谷问题 01 题目 在一个整数数组中&#xff0c;“峰”是大于或等于相邻整数的元素&#xff0c;相应地&#xff0c;“谷”是小于或等于相邻整数的元素。例如&#xff0c;在数组{5, 8, 4, 2, 3, 4, 6}中&#xff0c;{8, 6}是峰&#xff0c; {5, 2}是谷。现在给定一个…

三英战吕布web3游戏项目启动全流程

项目是一个学习相关的很好的例子并且开源&#xff0c;原本的项目是连接goerli网络&#xff0c;但我把它修改为可连接ganache网络的项目了&#xff0c;更方便启动。 智能合约部分 进入文件 hardhat.config.js &#xff0c;增加一个钱包私钥 2.执行npm install 3.测试合约 npx ha…

【Linux】linux配置静态IP、动态IP方法汇总

1、systemd-networkd 1.1 说明 systemd-networkd是systemd 的一部分 ,负责 systemd 生态中的网络配置部分(systemd-networkd.service, systemd-resolved.service)。使用 systemd-networkd,你可以为网络设备配置基础的 DHCP/静态IP网络等,还可以配置虚拟网络功能,例如网桥…

在pycharm中jupyter连接上了以后显示无此库,但是确实已经安装好了某个库,使用python可以跑,但是使用ipython就跑不了

今天遇到一个事情&#xff0c;就是用pycharm的jupyter时&#xff0c;连接不上&#xff0c;后来手动连接上了以后&#xff0c;发现环境好像不对。 一般来说&#xff0c;这里会是python3&#xff0c;所以里面的环境也是普通python的环境&#xff0c;并没有我下载的库&#xff0c;…

金和OA C6 SAP_B1Config.aspx 未授权漏洞

产品介绍 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。 漏洞描述 金和OA C6 SAP_B1Config.aspx接口 未授权&#xff0c;攻击者可通过此漏洞获取数据库账户密码等敏…

2015年电赛控制类—STM32风力摆控制系统资料+源程序

目录 一、项目背景 二、主要研究内容 三、总体思路与研究方案 四、主要研究结果 五、程序 六、图片 一、项目背景 风力摆控制系统是一种利用风力控制物体做简谐运动的系统&#xff0c;风力的利用和控制技术在我国的发展尚未完善&#xff0c;国内正处于起步阶段。风力摆的…

idea设置注释在鼠标当前位置,使其不从顶格位置添加注释

idea设置注释在鼠标当前位置&#xff0c;使其不从顶格位置添加注释 默认情况下&#xff0c;注释都是从改行的顶格开始&#xff0c;看起来不太美观而且不易清除分级 设置让其从代码处开始&#xff0c;步骤&#xff1a;File–>Sttings–>Editor–>Code Style &#xff…

Mysq之——分库分表

Mysq之——分库分表 简介分库分表的方式垂直分表垂直分库水平分库水平分表 图解&#xff1a;垂直分表与水平分表&#xff08;分库类似&#xff09;分库分表带来的问题 简介 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题&#xff0c;将原来独立的数据库拆分成…

[英语学习][24][Word Power Made Easy]的精读与翻译优化

[序言] 译者的这次翻译, 中规中矩, 就是遗漏了2个单词没有翻译出来 [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西, 同时加入我的社区讨论与交流英语相关的内容. [原著英文与翻译版对照][第22页] This book is designed…

IMS SIP register消息中的Contact header field

SIP register中的Contact还要承载User Agent的能力信息。 实网下抓取的UE log如上&#xff0c;下面就主要看下Contact header field要包含的内容及其含义。 Contact header field设置为包括 UE IP地址或FQDN的SIP URI。 如上图contact中sip:69a5de6a-a03e-46d6-ad7a-b0d974c8f…

【Synopsys工具使用】2.Verdi的使用

文章目录 用VCS生成波形文件并用Verdi打开生成fsdb文件使用Verdi查看逻辑原理图 用VCS生成波形文件并用Verdi打开 编写Makefile文件&#xff1a; all:find com find:find -name "*.v" > file.list com: …

怎么快速筛选查看postfix的邮件记录

现状 通过分析日志获取记录 1.多个收件人时&#xff0c;日志有多行&#xff0c;而且不宜读 2.日志中默认没有邮件主题信息 3.日志中默认没有年的信息 解决办法 小编今天发现了一个不错的开源小命令&#xff0c;查看和下载请点击&#xff1a;postfixlogparse 直接下载下来…

计算机Java项目|Springboot疫情网课管理系统

项目编号&#xff1a;L-BS-ZXBS-07 一&#xff0c;环境介绍 语言环境&#xff1a;Java: jdk1.8 数据库&#xff1a;Mysql: mysql5.7 应用服务器&#xff1a;Tomcat: tomcat8.5.31 开发工具&#xff1a;IDEA或eclipse 二&#xff0c;项目简介 疫情网课也都将通过计算机…

【鸿蒙4.0】harmonyos Day 01

一. 初次使用鸿蒙原生编译器Dev Ecostudio创建一个新工程&#xff08;项目&#xff09;&#xff0c;控制台报错&#xff1a;ohpm ERROR: NOTFOUND package "ohos/hypium" not found from all the registries https://repo.harmonyos 这个错误应该是一些配置没下载成…

python小技巧

使用列表解析式&#xff08;List Comprehension&#xff09;快速创建列表&#xff0c;例如&#xff1a;[x for x in range(10)] 使用enumerate()函数遍历列表时获取索引和值&#xff0c;例如&#xff1a; for i, value in enumerate(my_list): print(i, value) 使用zip()函数…

2 万字详解,吃透 ES!

生活中的数据 搜索引擎是对数据的检索&#xff0c;所以我们先从生活中的数据说起。 我们生活中的数据总体分为两种&#xff1a;结构化数据 和 非结构化数据 。 结构化数据 &#xff1a;也称作行数据&#xff0c;是由二维表结构来逻辑表达和实现的数据&#xff0c;严格地遵循…

年少不懂宋公明,读懂已是中年人

及时雨宋江及时的不是雨&#xff0c;而是银子。 年轻的时候&#xff0c;以为聚义厅聚的是义&#xff0c;中年以后才看明白&#xff0c;聚义厅聚的是利。 利益是纽带&#xff0c;是动力。 懂得从他人利益的角度出发&#xff0c;我们才能调动更多的人和资源&#xff0c;成就一…

Qt编程之基础模块和扩展模块介绍

Qt (发音为“cute”&#xff0c;而不是“cu tee” )是一个跨平台框架,通常用作图形工具包&#xff0c;不过它在创建命令行&#xff08;CLI&#xff09;应用程序方面非常出色。它可以运行在 3个主要的桌面操作系统&#xff08;Windows、Linux 和 Mac&#xff09;以及移动设备操作…

MYSQL多种提权方式

&#x1f419;MYSQL-提权条件 - 数据库的最高权限用户的密码 - secure-file-priv没进行目录限制 - 拿下了网站的权限&#xff08;通过webshell或者其他方式&#xff09; - 获取到了数据库的账号密码 &#xff08;获取密码&#xff1a;D:/phpstudy/MySQL/data/mysql/user.MYD…