SpringBoot不求甚解,Java小白入门(二)

一、什么是SpringBoot?

其实Springboot是Spring家族中的一个全新的框架,它是用来简单应用程序的创建和开发过程,化繁为简。

二、为什么要用SpringBoot?

因为现在大部分产品都是直接以SpringBoot为脚手架开发了,主流是主要原因。好处千千万,随大流第一条。有人说的好处:
● 可以不使用xml配置文件,采用注解的方式
● 能快速构建spring的web程序
● 可以使用内嵌的Tomcat、jetty等服务器去运行SpringBoot程序(以前spring项目都是要放到tomcat里去运行的)
● 可以使用maven来配置依赖
● 内置丰富功能

三、SpringBoot源码

可以查看其所有迭代版本,和依赖组件,当然,可以研读其源代码,可是能力有限,时间有限,只有需要的时候,去查看其原理。
安全那一块,结合组织权限啥的,需要透彻理解。

四、基础知识-程序目录结构

这个看若依就可以。

五、基础知识-自动配置原理

自动配置是SpringBoot的核心,特别是启动应用,这个逻辑如果有时间可以多看几遍,看着挺爽,基本没啥用,抽个章节把注解这个原理搞透彻是有必要的。
特别是若依中,用的不同的yml配置,这个要明白如何修订。

六、基础知识-整合外部框架

1、整合mybatis框架
1)看若依即可
2、整合Junit,JDBC等
1)需要确认若依是否有JUnit

七、基础知识-打包、部署和运行

Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,一方面可以将Spring Boot项目打包成独立的jar或者war包来运行,也可以单独打包成war包部署到Tomcat容器中运行。

1、如何打包

Maven默认会将项目打成jar包,也可以在pom.xml文件中指定打包方式。pom文件配置示例如下:
com.gyd
springboot-hello
0.0.1-SNAPSHOT
springboot-hello
springboot的第一个程序

jar
Spring Boot还自带一个spring-boot-maven-plugin插件用来打包,我们只需要再在pom.xml中加入以下配置:

<project ...>  ...<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

无需任何配置,Spring Boot的这款插件会自动定位应用程序的入口Class,我们执行以下Maven命令即可打包:

//可以加一些可选参数 如 mvn clean package -Dmaven.test.skip=true 代表打包时排除测试代码的执行
//mvn clean package其实是两条命令: mvn clean是清除项目target目录下的文件,mvn package打包命令。两个命令可以一起执行。
mvn clean package
命令执行完成后,jar包会生成到target目录下,命名一般是“项目名+版本号.jar”的形式。如下图所示。

2、如何部署运行

1)待更新,没有实操过。

3、各种进阶

1)比如啥热部署之类的,还没有遇到,知识用到再学,不着急。

下一步

了解注解,以及若依上面的用到的注解。

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

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

相关文章

黑芝麻智能与亿咖通科技签署战略合作协议,深化协同助力智能驾驶量产落地

12月22日&#xff0c;全球智能汽车计算芯片引领者黑芝麻智能与全球出行科技企业亿咖通科技共同签署战略合作协议&#xff0c;通过深化合作&#xff0c;整合双方研发、产品和技术资源&#xff0c;联手打造领先智能驾驶系统解决方案&#xff0c;合力推进商业拓展和市场应用&#…

做接口测试时需要验证数据库么?

问题&#xff1a; 有的接口会返回很多数据&#xff0c;有的接口可能就返回一个状态码及success之类的消息&#xff0c;这些需要验证数据库么&#xff1f;现在在写一个测试框架&#xff0c;配置接口参数和预期返回值&#xff0c;生成xml文件管理用例&#xff0c;用一个比较方法…

微前端样式隔离、sessionStorage、localStorage隔离

1、样式隔离 前端样式不隔离&#xff0c;会产生样式冲突的问题&#xff0c;这个点在qiankun也存在 子应用1修改一个样式 button {background: red&#xff01;important&#xff1b; }其它应用也会受到影响 qiankun的css隔离方案&#xff08;shadow dom&#xff09; shadow …

Hive-high Avaliabl

hive—high Avaliable ​ hive的搭建方式有三种&#xff0c;分别是 ​ 1、Local/Embedded Metastore Database (Derby) ​ 2、Remote Metastore Database ​ 3、Remote Metastore Server ​ 一般情况下&#xff0c;我们在学习的时候直接使用hive –service metastore的方式…

FreeRTOS之二值信号量(实践)

信号量相当于一个标志&#xff0c;实现对资源多少的管理。 比如停车场空位的数量。 这里使用的是二值信号量&#xff0c;其队列长度为1&#xff0c;只有空或满两种状态。 1、步骤&#xff1a; 1.1、创建信号量 1.2、释放信号量 1.3、获取信号量 注&#xff1a;若想深入还…

《深入理解计算机系统》学习笔记 - 第七课 - 机器级别的程序三

Lecture 07 Machine Level Programming III Procedures 机器级别的程序三 文章目录 Lecture 07 Machine Level Programming III Procedures 机器级别的程序三概述程序机制 栈结构栈说明栈定义推入数据弹出数据 调用控制代码示例程序控制流程%rip 传递数据ABI 标准示例 管理局部…

python使用Selenium自动化测试网页功能

在动态加载的网页中&#xff0c;python使用Selenium自动化测试网页功能&#xff0c;自动点击隐藏菜单出现错误信息&#xff0c;表示你试图点击的元素被另一个元素遮挡&#xff0c;因此无法直接点击。这通常发生在动态加载的网页中&#xff0c;当你试图点击一个元素时&#xff0…

LangChain 29 调试Debugging 详细信息verbose

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

计算机msvcp140.dll丢失的多种解决方法,哪种更值得推荐

在使用电脑进行工作&#xff0c;娱乐的时候&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”&#xff0c;这个问题可能会导致某些应用程序无法正常运行。msvcp140.dll是微软Visual C 2015运行库中的一个动态链接库文件&#xff0c;全名为M…

MyBatis的延迟加载!!!

首先&#xff1a;MyBatis的关联查询&#xff01;&#xff01;&#xff01;&#xff08;一对一、一对多、多对多&#xff09;-CSDN博客以这个项目为基础。 1.在UserMapper接口中创建一个方法&#xff1a; package com.by.mapper;import com.by.pojo.User;import java.util.Lis…

STM32的以太网外设+PHY(LAN8720)使用详解(5):MAC及DMA配置

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 MAC及DMA配置 1.1 使能ETH时钟 stm32的ETH外设挂载在AHB1总线上&#xff0c;位于RCC_AHB1ENR的bit25-bit27&#xff1a; 相关语句如下&#xff1a; RCC_AHB1PeriphClockCmd(RCC_AHB1…

家政上门服务系统|上门服务系统让家政服务更便捷

家政上门服务系统搭建的目的是为了让用户在家政服务的过程中能够更加轻松、便捷地完成各项服务需求。我们的系统集成了多项先进功能&#xff0c;使得用户无需再花费时间和精力去寻找合适的服务员工。通过系统&#xff0c;用户只需在手机或者电脑上输入相关需求&#xff0c;系统…

突破性能瓶颈:使用Asyncio构建高并发Python应用程序

是一种处理多个任务同时执行的编程方式&#xff0c;在Python中&#xff0c;asyncio是一种用于实现异步编程的强大工具。asyncio基于协程&#xff08;coroutine&#xff09;的概念&#xff0c;能够高效地处理I/O密集型任务。本文将介绍asyncio的基本原理和使用方法。 为啥需要a…

JXLS动态导出Excel

jXLS入门使用-CSDN博客

鸿蒙开发最新版视频教程:引领你走向未来的智能终端开发之路

随着智能终端设备的普及&#xff0c;鸿蒙开发成为了越来越多开发者的首选。为了满足广大开发者的学习需求&#xff0c;我们推出了一系列的鸿蒙开发视频教程&#xff0c;其中最新版教程更是引领你走向未来的智能终端开发之路。 一、鸿蒙开发最新版视频教程简介 我们的鸿蒙开发…

万界星空开源MES/注塑MES/开源注塑MES/免费MES/MES源码

一、系统概述&#xff1a; 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES、好看的数据大屏、功能齐全开源mes. 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理&#xff0c;车间基础数据管理&…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextInput输入框组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之TextInput输入框组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、TextInput 接口 TextInput(value?:{placeholder?: ResourceStr, tex…

SpringSecurity深度解析与实践(2)

目录 引言1.Springboot结合SpringSecurity用户认证流程1.1 配置pom文件1.2.配置application.yml 2.自定义MD5加密3.BCryptPasswordEncoder密码编码器4.RememberMe记住我的实现5.CSRF防御5.1.什么是CSRF 引言 上篇网址 1.Springboot结合SpringSecurity用户认证流程 1.1 配置p…

无刷电机驱动设计的几个技巧

设计无刷电机驱动时&#xff0c;以下是几个重要的技巧&#xff1a; 选择适当的电机驱动器&#xff1a;选择与无刷电机相匹配的电机驱动器非常重要。确保电机驱动器能够提供足够的电流和电压&#xff0c;并且能够与所选电机完全兼容。 理解无刷电机的控制原理&#xff1a;了解…

过采样技术基本原理

本文介绍过采样技术基本原理。 过采样技术在ADC信号采集过程中使用还是比较多的。某些使用场景下&#xff0c;对采样速度要求并不是那么高&#xff08;或ADC采样速度过剩&#xff09;&#xff0c;但是想要获取较高的分辨率&#xff0c;就会用到这种技术&#xff0c;如针对温度…