springboot2入门

Spring Boot 2 ● Create stand-alone Spring applications ○ 创建独立Spring应用 ● Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) ○ 内嵌web服务器 ● Provide opinionated ‘starter’ dependencies to simplify your build configuration ○ 自动starter依赖,简化构建配置 ● Automatical 阅读详情

还在copy-paste代码吗?还在从另外的项目中拷贝JDBC、Mybaties、Spring等相关的XML配置吗?在使用Spring的时候,大家会发现,想成功布置一个web项目,需要配置许多的XML文件,并且这些步骤是一成不变的,会浪费很多时间在上面,严重影响开发效率。或许公司都有相应的基础架构,只要拷贝过来就可以成功的运行,但也是很繁琐的。为了解决这些重复的操作,简化开发人员的配置,更加关注核心业务,Springboot应运而生。

SpringBoot简单介绍

SpringBoot其实相当于Spring的简化版,在原有的基础上减少了许多工作量。使用SpringBoot,我们可以很方便的创建一个可运行的web程序。为什么呢?就因为它与生俱来的几大特点:

  1. 自动化配置。SpringBoot会根据导入的依赖,自动化配置相关信息,无需手动创建XML文件(创建相关bean)。
  2. 内嵌Servlet容器(Tomcat、Jetty等)。支持使用java -jar运行jar项目,无需打包为war。
  3. 提供Starter POM与第三方框架无缝集成。
  4. 快速搭建项目。
  5. 自带项目监控。添加spring-boot-starter-actuator依赖,就可以使用相应端点进行监控。

......

SpringBoot使用

在使用SpringBoot进行开发的时候,大家可以选择自己喜欢的编辑器,例如:Idea、Eclipse等。在这里,我使用Idea进行开发,自带SpringBoot插件,部署快速。

使用SpringBoot2.0的时候,大家请注意,该版本需要使用Maven3.3及以上和jdk1.8及以上。另外SpringBoot也支持与Gradle4.4及以上版本整合。下面开始进行项目搭建:

第一步:New->Project->Spring Initializr选择初始化项目的方式。

第二步:点击Next,设置Group、Artifact、Type、Packaging等。这些参数,大家一看就懂,不做过多介绍。

第三步:点击Next,出现该弹框,可供我们选择项目需要的依赖,这里可选SpringBoot与SpringCloud的相关集成。这里我们选择Web模块。

第四步:点击Next,该弹框填写项目名,项目路径。点击Finish完成项目搭建。

到这里,使用Idea创建SpringBoot的项目就完成了。首先,我们先来看看pom.xml的具体内容:

<!--表明为SpringBoot项目,这里定制了SpringBoot的主版本-->
<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.1.3.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.fanqie.springboot2</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>

<properties>
   <java.version>1.8</java.version>
</properties>

<dependencies>
    <!--web依赖-->
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
    <!--springboot测试依赖-->
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
</dependencies>
<!--使用该插件打包项目,可以打包成可执行jar文件-->
<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

接下来,了解项目结构以及作用:

  • /src/main/java: 用于编写JAVA相关代码。
    • DemoApplication:项目主类,用于启动项目。
  • /src/main/resources:用于存放系统配置(application.properties或者application.yml...)。
    • /src/main/resources/static:用于存放一些静态文件(css,image,js...)。
    • /src/main/resources/templates:用于存放模板文件(FreeMarker、Thymeleaf...)。
    • application.properties:该文件用作项目配置,例如(数据源、端口、服务名、参数配置...)。
  • /src/test/java:用于进行单元测试。

在了解SpringBoot项目的基本结构和内容之后,我们再来看看一个简单的接口应该如何定义:

启动类:

@SpringBootApplication
@RestController
public class DemoApplication {

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

    @GetMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

访问:

从代码可以发现,这只是一个简单的java类,但是通过运行该main方法,我们就可以启动一个web服务。是不是觉得特别简单,我们没有做任何XML配置,就可以实现如此复杂的功能(咳咳,原Spring挺复杂的)。现在我们来分析一下,它怎么实现的:

  1. @RestController。大家应该很好理解,就是Spring中原生注解,其中包含(@Controller @ResponseBody)使类作为控制层并且使该类所有方法返回json格式数据。
  2. @SpringBootApplication。该注解是SpringBoot提供给我们的,其中内含@Configuration、@EnableAutoConfiguration、@ComponentScan。无需XML配置,就是依靠@EnableAutoConfiguration,它会根据项目的依赖进行自动化配置,例如:这里项目依赖spring-boot-starter-web,SpringBoot就会自动化配置Tomcat、SpringMvc和Spring,自动认为这是一个web项目。@ComponentScan注解会自动扫描当前目录以及子目录下所有被(@Component,@Service,@Repository,@Controller等)修饰的类。

打包和运行

上面,我们是通过main方法启动的项目,还有什么方法能够运行项目呢?springboot提供给我们的方式:mvn spring-boot:run。当然,这都是我们在本地运行项目,如果我们想远程部署服务,应该如何操作呢?之前我们就已经说过,springboot可以通过配置spring-boot-maven-plugin,把项目打包成一个可执行jar。经常使用的打包方式:mvn clean package -Dmaven.test.skip=true(打包并跳过测试),使用该方式,我们就能够把项目打包成一个可执行的jar了,通常存放在/target目录下。现在就可以把可执行的jar包放在服务器进行启动运行,例如:java -jar demo.jar。

总结

SpringBoot其实是在Spring的基础上做了大量优化,减少开发人员配置,能够快速搭建一个可运行的web项目。支持jar方式打包以及运行,部署方便。使用SpringBoot,极大的提升了开发人员的效率。

源码见于https://gitee.com/hpaw/SpringBoot2Demo/tree/master。

 

Spring Boot 2.x 实战入门 Tags: MyBatis,Spring Boot,Thymeleaf,JPA,热部署,Spring Data,Spring Cloud 学习地址: http://edu.51cto.com/course/13147.html 课程章节: 第1章Spring Boot 2.X快速入门45分钟1节      1-1Spring Boot 2.x 快速上手[免费观看]45:51 第... 阅读详情

相关推荐

Spring Boot 2从入门到入坟 | 基础入门篇:「Spring Boot 2从入门到入坟」系列教程介绍

我李阿昀又回来了! 我可爱的读者们,我想死你们啦!我李阿昀又回来了!嘿嘿???? 好久都没更新「Spring Boot 2从入门到入坟」这一系列教程了,大家等得着急吗?从今年4月15日起,细细想来已有半载了,时光真如梭啊!昔者,子在川上曰:逝者如斯夫,不舍昼夜!顿时,心中不禁生出空悲切之情!半载时光晃晃悠悠就过去了,可我感觉还什么事都没做!但是也不是什么事也没做啦,「从零开始学习Java设计模式」这一系列教程我算是更新完了,也算是能聊表我心吧!想来,我做事还是比较认真的,一篇文章认认真真写了又改,改了又写,

李阿昀的博客 1469

Spring Boot如何配置Liveness和Readiness探针

当我们采用Kubernetes作为编排平台时,每个Pod节点上的kubelet都负责维持该节点内Pod的健康状态。例如,某些应用程序在启动后可能需要短暂准备时间才能开始接收请求。kubelet可以确保只有当应用准备就绪时才会向其转发流量。此外,如果Pod的主进程因任何意外原因崩溃,kubelet将自动重启容器。为履行这些职责,Kubernetes提供了两种健康检查机制:存活探针(liveness probes)和就绪探针(readiness probes)。

若鱼的专栏 926

OFDM接收机同步——分组检测

上一篇讲了OFDM发射机中的长短训练序列生成原理,基于此可以得到长短训练序列的准确数值,为接收机中的符号同步中的相关运算提供基础。 进入符号同步前,首先来看OFDM接收机中的第一步——分组检测。分组检测就是检测突发传输方式的信道上是否有新的数据到达,算法的好坏直接影响着接收机的后续工作性能。 一、本文意义 基于《基于xilinx fpga 的ofdm的通信系统基带设计》这本教材中分组检测算法原理,通过matlab编程仿真验证“延时相关+保持长度”分组检测算法的有效性。同时,通过仿真证明教材上的判决公式的问题

boayel的博客 2202

[Spring] SpringBoot2 简介(一)—— 基础配置

(1)配置繁琐Spring 的组件代码是轻量级的,但是它的配置文件是重量级的。在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写程序的时间。(2)依赖繁琐自己导入 maven 很可能会导致依赖冲突,还得自行判断版本号。YAML全称是YAML Ain't Markup Language。YAML是一种直观的能够被电脑识别的的数据数据序列化格式;容易被人类阅读,容易和脚本语言交互,可以被支持 YAML 库的不同的编程语言程序导入;

joyride_run的博客 1821

C++网络编程 - Boost::asio异步网络编程 - 01- boost库源码编译安装

知识的学习在于点滴记录,坚持不懈;知识的学习要有深度和广度,不能只流于表面,坐井观天;知识要善于总结,不仅能够理解,更知道如何表达! 目录 如果需要录屏资料,请私信邮箱shitou3000@qq.com获取。 ...

大秦坑王的专栏 1万+

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 166

springboot2简介

1.通过提供默认配置来简化spring开发,比如以前使用spring开发的时候,需要配置很多组件像dispatcherservlet等,现在有了spring boot,springboot会给容器中放这一组件。2.仲裁中心start-parent,通过仲裁中心,利用maven依赖传递的特性,我们在开发的时候,不用导入那么多的依赖,只需导入对应场景的start就行,也不用考虑版本冲突的问题。3.内置web服务器,简化部署。4.不需要配置xml。

weixin_46107435的博客 741

微信开发 - 最新第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试

redirect_uri参数错误,微信第三方登录,没有服务器时的测试方法,微信开放平台的回调域名怎么设置为本地域名IP,微信登录微信支付每次调试都需要放到服务器上怎么办,微信登录支付业务在本地调试不了怎么办,在本地怎么测试微信支付和登录,微信第三方登陆本地测试,怎么在本地进行测试,微信回调域怎么设置为本地IP,微信扫码登录redirect_uri参数错误,微信开放平台,微信开放平台开发的第三方登录和支付,vue2,nuxt2,vue3,nuxt3,uniapp,微信开放平台,公众号,微信支付,微信登录授权,

🏆 前端领域优质创作者 8791

Spring Boot2框架学习-基础入门

Spring Boot2框架学习-基础入门1. SpringBoot概念1.1. 什么是SpringBoot1.2. SpringBoot优点1.3. 微服务2. SpringBoot基础入门2.1. maven设置2.2. 入门案例2.2.1. 导入依赖2.2.2. 创建主程序2.2.3. 编写业务2.2.4. 测试和简化配置2.2.5. 简化部署3. Spring Boot的自动配置原理3.1. 依赖管理3.2. 自动配置3.3. 容器功能3.1.1. Configuration注解进行组件添加3.1.

Hide on bush 1380

基于大模型最大化电力交易收益(策略与代码实践)

新一代电力交易系统正借助大型语言模型(LLM)实现智能化转型。面对可再生能源占比提升带来的市场波动性加剧,传统交易策略已难以应对。LLM通过多模态能力,能够实时处理海量异构数据,包括政策公告、设备检修信息、天气报告等非结构化数据,构建更精准的电力市场预测模型。智能交易系统主要包含三大核心模块:市场情报感知与理解器、融合LLM的短期电价预测模型和自适应交易策略生成器。这些模块协同工作,可在几分钟内完成事件分析、价格预测和策略生成,显著提升交易效率。系统还能实现跨市场套利和动态风险管理,但需注意数据质量、模型验

专注AI大模型,软件混淆,授权 1264

Dify 第 3 篇 Dify 入门示例 - 聊天助手

本文介绍了如何使用Dify平台快速搭建一个聊天助手。首先通过创建空白应用并选择"聊天助手"模板完成基础设置,然后安装配置通义千问等大语言模型(LLM)并设置API密钥。进阶部分演示了如何创建支持编程语言选择的代码解释器,包括添加提示词约束、插入变量、设置开场白等功能。最后展示了运行效果:用户可选择编程语言后输入代码,系统会给出相应解释。文章还提到应用支持发布共享,并附有Dify官方文档参考链接。

甘蓝的专栏 865

2、SpringBoot2入门

SpringBoot2入门

希望有点用 316

绘制Winform动态折线图,LiveCharts如何打造数据可视化神器?

在C# Winform应用程序中,使用LiveCharts库来创建动态、美观的折线图不仅能够提升用户体验,还能直观展示数据趋势。下面,我们将通过一个详尽的示例,展示如何在Winform项目中集成LiveCharts并绘制折线图。:在Visual Studio中,选择“文件” > “新建” > “项目”,然后选择“Windows Forms 应用(.NET)”模板。LiveCharts的强大之处在于其高度的可定制性,你可以根据需求调整颜色、动画效果、交互方式等,让图表更加符合你的应用需求。

java专栏 1683

SpringBoot2学习总结一:SpringBoot2入门

本文章总结自尚硅谷SpringBoot2,视频链接:尚硅谷雷神SpringBoot2零基础入门springboot全套完整版(spring boot2) 在学习SpringBoot之前,我们需要了解什么是SpringBoot? 1. SpringBoot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发

Baridhu的博客 2496

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

全套SpringBoot2.x入门到项目实战课程系列(第1章 Spring Boot 概要、第2章 Spring Boot 入门开发)

全套SpringBoot入门到项目实战课程系列第1章 Spring Boot 概要1.1 Spring Boot 介绍1.2 Spring Boot 优点第2章 Spring Boot 入门开发技术点要求:2.1 环境要求2.2 修改Maven配置文件2.3 IntelliJ IDEA 设置2.4 快速构建 Spring Boot 项目2.4.1 创建 Maven工程2.4.2 修改 pom.xm...

baidu_33267079的博客 1079

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SpringBoot2入门学习

文章目录SpringBoot2基础入门环境设置二、使用步骤Maven配置阿里云镜像和JDK1.8第一个SpringBoot程序总结 SpringBoot2基础入门 环境设置 Java8以上 Maven3.3以上 Idea 2020.1 Maven 3.6下载 二、使用步骤 Maven配置阿里云镜像和JDK1.8 配置阿里云镜像,项目下载jar包等速度会更快,效率更高。 在<mirrors></mirrors>标签中加入以下代码: <mirrors> &l

LoveDengXing520的博客 298

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SpringBoot2基础入门

SpringBoot2基础入门

QiuYuSy的博客 528

SpringBoot2第二章:基础入门之SpringBoot 2入门案例

一、SpringBoot2入门 1、系统要求 Java 8 & 兼容java14 . Maven 3.3+ idea 2019.1.2 1.1、统一maven设置 注意配置文件的位置 配置阿里云镜像下载依赖快,使用jdk1.8避免一些版本不匹配的问题。 <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirro

RunningCodeMonkey的博客 379

02、SpringBoot2入门

02、SpringBoot2入门 1、系统要求 Java 8 & 兼容java14 . Maven 3.3+ idea 2019.1.2 1.1、maven设置 <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun&lt

LXYDSF的博客 206

SpringBoot2入门教程

第一季:SpringBoot2核心技术-基础入门 学习要求 ● 熟悉Spring基础 ● 熟悉Maven使用 环境要求 ● Java8及以上 ● Maven 3.3及以上: SpringBoot 2 的环境要求 01、Spring与SpringBoot 1、Spring能做什么 1.1、Spring的能力 Spring具有哪些能力呢?这点在Spring的官网上有比较详情的描述,我们可以在Spring的项目 里看到Spring的生态涵盖了web开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理等等

Code_Boy_Code的博客 1509

SpringBoot2入门

笔记参考尚硅谷springboot2教学以及官方文档 我的版本 jdk1.8 springboot2.43 maven3.52 入门案例 浏览发送/hello请求,响应 Hello,SpringBoot2 入门案例参考官方文档 1、创建pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.

技术积累,技术分享 207

SpringBoot2入门|Hello Spring Boot 2!

Spring Boot Reference Documentation 尚硅谷B站课程SpringBoot2辅助文档 Let’s begin! 版本说明: SpringBoot 2.4.2 JDK 8 Maven 3.5.4 版本查看 File-Project Structure File-Settings 项目特点 内置Tomcat maven管理依赖 创建第一个web应用 application.properties 目录: /src/main/resources/applicat.

weixin_44217002的博客 385

SpringBoot2核心技术-基础入门 02、SpringBoot2入门

SpringBoot2入门02、SpringBoot2入门1、系统要求1.1、maven设置2、HelloWorld2.1、 确定idea中配置的是我们配置过的maven2.2、 创建Maven工程2.3、引入依赖2.4、 创建主程序2.5、 编写业务逻辑2.6、 测试2.7、 简化配置2.8、 简化部署 02、SpringBoot2入门 1、系统要求 Java8 & 兼容 Java14 Maven 3.3+ idea 2020.3.4 1.1、maven设置 本地仓库位置修改:在标签内添加自

weixin_42601001的博客 499

【SpringBoot】SpringBoot2核心技术-基础入门

SpringBoot2 SpringBoot2核心技术-基础入门 SpringBoot介绍 为什么使用SpringBoot? 能快速创建出生产级别的Spring应用 SpringBoot是整合Spring技术栈的一站式框架 SpringBoot是简化Spring技术栈的快速开发手脚架 SpringBoot的优点 创建独立Spring应用 内嵌web服务器 自动starter依赖,简化构造配置 自动配置Spring以及第三方功能 提供生产级别的监控、健康检查及外部化配置 无代码生成,无需编写XML

HR的博客 407
上一篇: 设计模式之代理模式
下一篇: springboot2与mybaties整合
西红柿丶番茄
博客等级 码龄10年 21粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值